https://hihocoder.com/problemset/problem/1631
将吃鱼的速度排序后,然后模拟每一秒内的吃鱼情况
用一个数组来记录每个猫是否在吃鱼
#include<bits/stdc++.h>
using namespace std;
int main()
{
int m,n,x;
int c[111];
while(~scanf("%d%d%d",&m,&n,&x))
{
for(int i=0;i<n;i++)
scanf("%d",&c[i]);
int js=1;
bool yy[111];
memset(yy,0,sizeof(yy));
sort(c,c+n);
while(js<=x)
{
for(int i=0;i<n;i++)
{
if(yy[i]==0&&m)
{
yy[i]=1;
m--;
}
if(yy[i]==1&&js%c[i]==0)
{
yy[i]=0;
}
}
js++;
}
int uc=0;
for(int i=0;i<n;i++)
{
if(yy[i]==1)
uc++;
}
cout<<m<<" "<<uc<<endl;
}
return 0;
}
本文介绍了一种通过排序猫吃鱼速度并模拟每秒吃鱼情况的算法。使用数组记录猫是否正在吃鱼,通过排序和模拟过程,计算在特定时间内剩余的鱼和正在吃鱼的猫的数量。
1459

被折叠的 条评论
为什么被折叠?



