Cats and Fish HihoCoder - 1631
Cats and Fish
题意:
有一些猫和一些鱼,每只猫有固定的吃鱼速度,吃的快的猫优先选择吃鱼,问在x秒时有多少完整的鱼和有多少猫正在吃鱼?
题解:
模拟一下。两层循环模拟在每一秒时,每个猫的状态是什么样子的,如果在这一秒这个猫没有吃鱼,而鱼还有剩余,那么就给猫吃,如果当前t秒是猫吃鱼速度的倍数,就说明这个猫刚好吃完,又可以给她鱼吃了。
#include <bits/stdc++.h>
using namespace std;
struct node
{
int f; // f当前是否有鱼吃 v是吃鱼的速度
int v;
} s[1005];
bool cmp(struct node a,struct node b)
{
return a.v < b.v;
}
int main()
{
int n,m,x;
while(~scanf("%d %d %d", &m, &n, &x))
{
for(int i = 1; i <= n; i ++)
{
scanf("%d",&s[i].v);
s[i].f = 0;
}
sort(s + 1, s + 1 + n, cmp);
int sum1 = m, sum2 = 0;
for(int i = 0; i <= x; i ++)
{
for(int j = 1; j <= n; j ++)
{
if(i % s[j].v == 0) // 如果当前是这个猫的吃鱼的速度的倍数,那么肯定能够给ta吃。
s[j].f = 0;
if(sum1 <= 0) // 如果没有鱼了,就不用继续了
continue;
else // 否则,当前这只没有鱼吃的猫会选择一条鱼吃
{
if(s[j].f == 0 && i != x) // i是从0开始
{
s[j].f = 1;
sum1--;
}
}
}
}
for(int j = 1; j <= n; j ++) // 还有标记的猫就是正在第x秒在吃鱼的啦
{
if(s[j].f == 1)
sum2 ++;
}
printf("%d %d\n",sum1,sum2);
}
return 0;
}
Cats and Fish HihoCoder - 1631的更多相关文章
- 2017 ICPC beijing E - Cats and Fish
#1631 : Cats and Fish 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 There are many homeless cats in PKU camp ...
- 2017 北京网络赛 E Cats and Fish
Cats and Fish 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 There are many homeless cats in PKU campus. They ...
- hihocoder#1631 : Cats and Fish
Description There are many homeless cats in PKU campus. They are all happy because the students in t ...
- hihoCoder 1631 Cats and Fish(ACM-ICPC北京赛区2017网络同步赛)
时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 There are many homeless cats in PKU campus. They are all happy ...
- Cats and Fish(小猫分鱼吃吱吱吱!)(我觉得是要用贪心的样子!)
炎炎夏日,一堆
- hihocoder 1631
时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 There are many homeless cats in PKU campus. They are all happy ...
- KnockoutJS 3.X API 第四章(14) 绑定语法细节
data-bind绑定语法 Knockout的声明性绑定系统提供了一种简洁而强大的方法来将数据链接到UI. 绑定到简单的数据属性或使用单个绑定通常是容易和明显的. 对于更复杂的绑定,它有助于更好地了解 ...
- 【Knockout】四、绑定上下文
Binding context binding context是一个保存数据的对象,你可以在你的绑定中引用它.当应用绑定的时候,knockout自动创建和管理binding context的继承关系. ...
- KnockoutJS(3)-绑定语法
绑定语法大致分为2种: 1. 数据绑定(data-bind syntax) 2. 绑定上下文(Binding Context) 下面针对这2中绑定语法分别介绍一下 1. 绑定上下文(Binding C ...
随机推荐
- Apache2.4+Tomcat7.0+php5.5整合配置详解
在上一篇的基础上,继续添加php的配置 一.首先下载php5.5 首先下载php5.5,到官网下载http://www.php.net/downloads.php,参考http://www.cnblo ...
- Vs2019 C# .net core 将证书添加到受信任的根证书存储失败,出现以下错误:访问控制列表(ACL)结构无效
https://www.cnblogs.com/xiyuan/p/10632579.html 使用 vs2017 创建一个 ASP.NET Core Web 应用程序 -> Ctrl + F5 ...
- MarkDown 语法大全查询
目录 1. 斜体和粗体 2. 分级标题 3. 超链接 3.1. 行内式 3.2. 参考式 3.3. 自动链接 4. 锚点 5. 列表 5.1. 无序列表 5.2. 有序列表 5.3. 定义型列表 5. ...
- “df: cannot read table of mounted file systems”.
“df: cannot read table of mounted file systems”.“df -l” returned an error: “df: cannot read table of ...
- 脱壳系列—— *加密脱壳(Android使用手册破解)
作者:i春秋作家HAI_ZHU 0×00 前言 好久没有写文了,要好好开动一下了.很多事情要忙.这篇文章本来很早之前就要写的,但是因为很多事情就拖了很久. 前置内容 HAI_使用手册 知识总结 0×0 ...
- golang的select实现原理剖析
写在最前面 select为golang提供了多路IO复用机制,和其他IO复用一样,用于检测是否有读写事件是否ready. 本文将介绍一下golang的select的用法和实现原理. 实现原理 gola ...
- js 小细节(持续更新)
1.在对数据进行操作时,一定要考虑数据里面每一个value值是否存在 $.each(data, function(i, item){ if(item == null || item.firstFram ...
- STUN/TURN服务器搭建
目录 STUN/TURN服务器搭建 编译安装 配置使用 添加用户 启动server 测试 开机启动 参考 STUN/TURN服务器搭建 编译安装 编译安装 OpenSSL: sudo apt-get ...
- 创建守护进程步骤与setsid()
原创:http://www.cnblogs.com/mickole/p/3188321.html 一,守护进程概述 Linux Daemon(守护进程)是运行在后台的一种特殊进程.它独立于控制终端并且 ...
- FreeRTOS编程风格
数据类型 基本使用的是标准C里面的数据类型,但是针对不同的处理器,对标准C的数据类型又进行了重定义: 在FreeRTOS中详细的数据类型重定义在portmacro.h这个文件中,具体如下: /* Ty ...