uva11608 No Problem!

uva11608

uDebug11608

题意是说,程序设计竞赛举办越来越频繁了,这给出题者带来了不小的压力,如果出题者能提供相应数量的题目,那么就可以举办比赛,否则就只能取消比赛了。有一点要注意,当月出的题,只能在下个月之后才能使用。

现给定题库中剩余的题目数量S(0<=S<=100,如果输入的S为-1,表示输入结束),以及一年12个月中,每个月出题者能提供的新题目的数量c,还有每个月程序设计竞赛所需的题目的数量r(其中,0<=c, r <=20)。如果能举办竞赛,则输出"No problem! :D",表示没问题,如果不能举办,则输出"No problem. :(",表示没题目。

程序很简单,直接按月模拟即可,先判断题库s与竞赛所需题目的数量r,决定是否可以举办比赛,然后再补充题目数量c到题库s即可。

python版本AC代码

testcase = 0
while True:
	testcase += 1
	S = int(input())
	if S < 0:
		break
	Problem_created = list(map(int,input().split()))
	Problem_required= list(map(int,input().split()))
	print("Case {}:".format(testcase))
	for i in range(12):
		if S >= Problem_required[i]:
			print("No problem! :D")
			S -= Problem_required[i]
		else:
			print("No problem. :(")
		S += Problem_created[i]

C++版本AC代码

#include <iostream>
#include<cstdio>
using namespace std;

//#define ZANGFONG
const int maxn = 13;
int S[maxn],P[maxn];

int main()
{
    #ifdef ZANGFONG
    freopen("in.txt","r",stdin);
    freopen("out.txt","w",stdout);
    #endif // ZANGFONG
    int N,i;
    int cnt = 1;
    while(scanf("%d\n",&N)&&N >= 0)
    {
        printf("Case %d:\n",cnt++);
        for(i = 1; i < maxn; i++) scanf("%d",&S[i]);
        for(i = 1; i < maxn; i++) scanf("%d",&P[i]);

        for(i = 1; i < maxn; i++)
        {
            if(N >= P[i])
            {
                printf("No problem! :D\n");
                N -= P[i];
            }
            else printf("No problem. :(\n");
            N += S[i];
        }
    }

    return 0;
}

猜你喜欢

转载自blog.csdn.net/zangfong/article/details/82934463