【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。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值