close
Content
最近程式競賽非常頻繁。儘管對參賽者來說這是好事,對出題者來說卻適得其反。目前出題者尚能維持一個題庫並說:「沒有問題!」但是如果繼續這樣下去不知道還能維持多久。
給你一年中每個月所出的題目數量及每個月所需要的題目數量。如果某個月需要 N 個題目,而當時的題庫數量不足,那麼該月的所有比賽均取消。請寫個程式來判斷是否有足夠的題目來辦比賽。記住,如果某個題目是在 X 月出的,該題目必須在 X+1 月或其後的月份才能使用。
Input
每筆測資的第一行有一個整數 S (0≤S≤100),表示年初已有的庫存題目數量。第二行有 12 個以空白隔開的整數,依序表示一到十二月每個月所出的題目數量。第三行也有 12 個以空白隔開的整數,依序表示每個月比賽所需要的題目數量。這些整數會介於 0 到 20 之間 (含)。負數代表輸入的結束。
Output
對於每筆測資,印出一行 "Case X:",X 代表測資編號。然後印出 12 行,如果 i 月 (1≤i≤12) 有足夠的題目,則在第 i 行印出 "No problem! :D" (沒有問題),否則印出 "No problem. :(" (沒有題目)。
Sample Input #1
5 3 0 3 5 8 2 1 0 3 5 6 9 0 0 10 2 6 4 1 0 1 1 2 2 -1
Sample Output #1
Case 1: No problem! :D No problem! :D No problem. :( No problem! :D No problem! :D No problem! :D No problem! :D No problem! :D No problem! :D No problem! :D No problem! :D No problem! :D
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (100%): 1.0s , <1K
公開 測資點#0 (100%): 1.0s , <1K
#include <iostream> using namespace std; #define count 12 int main(){ int s,Case=1; //目前有s題 int a[12];//存放每個月增加的題目 int b[12];//存放每個月消耗的題目 while (cin>>s) { if (s<0){break;} //一開始沒題目玩屁 for (int i = 0; i < count; i++) { cin>>a[i]; } for (int i = 0; i < count; i++) { cin>>b[i]; } cout<<"Case "<<Case++<<":\n"; //cout<<case++ 先輸出case,再++ for (int i = 0; i < count; i++) { if(b[i]<=s){ cout << "No problem! :D\n"; s-=b[i]; } else{ cout << "No problem. :(\n"; } s+=a[i]; } } }
文章標籤
全站熱搜
留言列表