这道题让我回想起了自己那总是昏昏欲睡的学生时代,万分怀念!
要解决的问题就是如何判断不存在“全部都清醒”的时刻,我的做法是把每个人的初始状态记录下来。
如果随着时间推移再次出现了与初始状态相同的状态,就是出现了循环,说明“全部都清醒”的时刻不存在。
//#define LOCAL
//#define TESTING
#include<stdio.h>
#include<string.h>
int main()
{
int n,a[12],b[12],c[12],begin[12],kase = 0;
#ifdef LOCAL
freopen("xt4-8.in", "r", stdin);
freopen("xt4-8.out", "w", stdout);
#endif
for(;;)
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
memset(begin,0,sizeof(begin));
kase++;
scanf("%d", &n);
if(n==0) break;
for(int i = 1; i <= n; i++)
{
scanf("%d%d%d", &a[i],&b[i],&c[i]);
begin[i] = c[i];
}
#ifdef TESTING
printf(&