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

问题描述:
由于Covid-19的原因,Kanade每次进出学校都需要上报。现在你想要检查Kanade在某一天的报告是否正确。当且仅当不存在两个连续的相同报告时,报告序列才是正确的。
输入:
有T个样例,第一行是整数T。对于每个测试用例第一行有一个整数n,表示Kanade在某天的报告次数,第二行有n个整数a1,a2,a3··· an, ai表示第i个报告的情况。ai = 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 }

浙公网安备 33010602011771号