模拟水题,牛吃草(POJ2459)
题目链接:http://poj.org/problem?id=2459
题目大意:有C头牛,下面有C行,每头牛放进草地的时间,每天吃一个草,总共有F1个草,想要在第D的时候,草地只剩下F2个草。
解题思路:模拟啊,就像砍树一样的问题,把每天失去的草计算出来,从最后一天往前推。
#include <cstdio> #include <cstring> int C,F1,F2,D; int a[2005]; int main() { while (scanf("%d%d%d%d",&C,&F1,&F2,&D)!=EOF) { memset(a,0,sizeof(a)); for (int i=0; i<C; i++) { int x,y; scanf("%d%d",&x,&y); for (int j=x; j<=y; j++) a[j]++; } F1-=F2; int j; for (j=D; j>=1; j--) { if (F1<=a[j]) break; F1-=a[j]; } printf("%d\n",j); } return 0; }