UVA12108(特别困的学生)。

参考了一下百度。。。

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstdlib>
 4 #include <algorithm>
 5 #include <cstring>
 6 
 7 using namespace std;
 8 const int maxn = 10086;
 9 int sleep[11];
10 int wake[11];
11 int start[11];
12 
13 int main()
14 {
15     int n,i,j,x,y,k,ans = 0;
16     while(cin >> n && n)
17     {
18         //memset(a,0,sizeof(a));
19         for(i=1; i<=n; i++)
20         {
21             cin >> x >> y >> k;
22             wake[i]=x,sleep[i]=y,start[i]=k;
23         }
24         int time = 0,flag = 0;
25         while(++time)
26         {
27             int cnt = 0;
28             for(i=1; i<=n; i++)
29             {
30                 if(start[i]<=wake[i])
31                     cnt++;
32             }
33             if(cnt==n)break;
34             for(i=1; i<=n; i++)
35             {
36                 if(start[i]==wake[i]+sleep[i]||(start[i]==wake[i]&&cnt>=n-cnt))
37                     start[i] = 0;
38                 start[i]++;
39             }
40             if(time == maxn)
41             {
42                 flag = 1;
43                 break;
44             }
45 
46         }
47         if(flag)
48             printf("Case %d: -1\n",++ans);
49         else
50             printf("Case %d: %d\n",++ans,time);
51     }
52     return 0;
53 }

 

posted @ 2017-01-31 20:03  萧萧Hsiao  阅读(300)  评论(0编辑  收藏  举报