【2020CCPC网络赛1010 Reports】题目+题解

1003 Reports

问题描述:

由于Covid-19的原因,Kanade每次进出学校都需要上报。现在你想要检查Kanade在某一天的报告是否正确。当且仅当不存在两个连续的相同报告时,报告序列才是正确的。

输入:

有T个样例,第一行是整数T。对于每个测试用例第一行有一个整数n,表示Kanade在某天的报告次数,第二行有n个整数a1,a2,a3··· an, ai表示第i个报告的情况。a= 0表示离校,ai = 1表示入校。

1 < T < 100

3 < n < 50

0 < ai < 1

输出:

输出对于每个测试用例,如果Kanade的报告是正确的,输出 YES,否则输出 NO。

思路:

签到题

参考代码:

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int T,n,num[50],a;
 6     cin>>T;
 7     while(T--)
 8     {
 9         cin>>n;
10         for(int i=0;i<n;i++)    cin>>num[i];
11         for(int j=0;j<n-1;j++)
12         {
13             if((num[j]==0||num[j]==1)&&(num[j+1]==1||num[j+1]==0))
14             {
15                 if(num[j]==num[j+1])
16                 {
17                     cout<<"NO"<<endl;
18                     a=1;
19                     break;
20                 }
21                 else
22                     a=0;
23             }
24             else
25                 cout<<"NO"<<endl;
26         }
27         if(a==0)    cout<<"YES"<<endl;
28     }
29 } 

 

posted @ 2020-09-22 11:19  宇宙发动机  阅读(496)  评论(0)    收藏  举报