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 ...
随机推荐
- [Vue]vue-router嵌套路由(子路由)
总共添加两个子路由,分别命名Collection.vue(我的收藏)和Trace.vue(我的足迹) 1.重构router/index.js的路由配置,需要使用children数组来定义子路由,具体如 ...
- Rsync同步过程中遇到的常见问题
一.Rsync服务介绍 Rsync属于一款实现全量及增量同步数据的软件工具,适用于unix/linux/windows等多种操作系统平台. Rsync软件能实现本地复制,远程复制,或者远程守护进程方式 ...
- Hackthebox--------irked
菜鸟一枚,大佬轻喷!! Web页面就一张表情图和一句IRC is almost working!(是irc服务么??!!) 查看图片信息,貌似图片没这么简单.... 果然没这么简单,不行,得想办法得到 ...
- 让网站支持老版本IE6、7、8、9浏览器的3种解决方案
1.htmlshiv.js Remy的 HTML5shiv通过JavaScript 来创建HTML5元素(如 main, header, footer等).在某种程度上通过JavaScript 创建的 ...
- 整理一下Promise 的用法
Promise 的定义 Pormise是JS的异步编程的一种解决方案,在ES6将其写进了语言标准,提供了原生的Promise对象. Promise简单来理解就是一个容器,里面存放着某个未来才会结束的事 ...
- 记录在苹果X手机上运行遇到的代码Dom被阻塞不更新的一个坑
一.问题产生背景: 开发支付功能,代码逻辑如下:点击支付后,请求后台接口得到流水号以及第三方支付台链接,跳转支付台(在苹果手机则是弹出支付台层):支付完毕后返回支付页面,或中途退出支付台返回支付页面: ...
- CVE-2019-0214: Apache Archiva arbitrary file write and delete on the server
CVE-2019-0214: Apache Archiva arbitrary file write and delete on the server Severity: Medium Vendor: ...
- tesseract图像识别验证码:安装使用和避免坑
安装使用 https://blog.csdn.net/kk185800961/article/details/78747595 避免的坑 http://www.mamicode.com/info-de ...
- 【python】python configparser模块
ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section), 每个节可以有多个参数(键=值).使用的配置 ...
- Springboot项目中的favicon
当项目还不大的时候,打开浏览器的favicon是自带的小叶子,如下图 此时,我们只需要将我们想要的favicon命令为favicon.ico放置在resource下,重启服务即可改变图标 当项目越来越 ...