【2020中国大学生程序设计竞赛(CCPC)——网络选拔赛】1010:Report

1010:Report

Problem Description

Because of Covid-19, Kanade needs to report every time when entering
and leaving school. Now you want to check if Kanade’s reports on a
certain day are correct.

A sequence of reports is correct if and only if there does not exist
two consecutive and same reports.

分析题目和样例输入,这道题的意思就是要检查一个数组中的前后的数是否存在相同的情况(A sequence of reports is correct if and only if there does not exist two consecutive and same reports.),如果存在相同,就是不符合情况的,输出NO,如果不存在相同,符合情况,输出YES。

Input

There are T test cases in this problem.

The first line has one integer T.

For every test case:

The first line has one integer n which denotes the number of times
Kanade reported on a certain day.

The second line has n integers a1,a2,a3,⋯,an, ai denotes the type of
the i-th report. ai=0 denotes a leaving school report and ai=1 denotes
an entering school report.

1≤T≤100

3≤n≤50

0≤ai≤1

Output

For every test case, output YES’’ if Kanade’s reports are correct,
otherwise output NO’’ (without quotes)

Sample Input

4
3
1 1 1
3
1 0 1
5
0 1 0 1 0
4
1 0 1 1

Sample Output

NO
YES
YES
NO

#include<iostream>
using namespace std;
int array[1000][1000];
int use[1000]; 
int main()
{
    
    
	int n;
	cin>>n;
	int i,j,k,flag=1,stanum=0;
	int sum=0;
	for(i=0;i<n*2;i=i+2)
	{
    
    
		cin>>array[i][0];
		for(j=0;j<array[i][0];j++)
		{
    
    
			cin>>array[i+1][j];
		}
		for(k=0;k<array[i][0]-1;k++)
		{
    
    
			if(array[i+1][k]==array[i+1][k+1])
			{
    
    
				flag=0;
				break;
			}
			else 
				continue;			
		} 
		if(flag==0)
		{
    
    
			use[stanum]=0;
			stanum++;
		}
		else if(flag==1)
		{
    
    
			use[stanum]=1;
			stanum++;
		}
		flag=1;
	}
	for(i=0;i<n;i++)
	{
    
    
		if(use[i]==0)
			cout<<"NO"<<endl;
		else if(use[i]==1)
			cout<<"YES"<<endl;
	}
}

提交时出现的错误:
1、一开始使用头文件#include<bits/stdc++.h>,用g++编译器编译错误(Compile Error),改成#include<iostream>就解决了
2、一开始在int n;这一句后边用了“//”进行注释,结果出现编译错误(Compile Error),上网一搜,注释不应该包括中文,只能用英文进行注释或者去掉注释
3、一开始数组定义为int array[50][50]、int use[50],出现错误:Runtime Error (ACCESS_VIOLATION),百度一搜索发现可能是因为数组不够大,或者出现数组越界的情况,我将数组后边的数字都改为1000后,再次提交,Accepted。

猜你喜欢

转载自blog.csdn.net/passer__jw767/article/details/108696557