前言
这是大学第二次跟队友打CCPC,不过由于今年来,我们队一个人在腾讯实习,一个在准备保研,我在准备考研+保研,所以没多少一起练习的机会,我也因为少了打代码而导致技能生疏。因此虽然这次是网络选拔赛,但我们也没比去年的中大正式赛好太多,仅仅只是做了1102,1003,1007,1010和1011,最后想冲多一题,结果被卡到结束,所以结束后我也打算随便写一个题解记录一下。
2020CCPC网络赛题解
1010 Reports
题面
给你一个数组,问数组中是否有连续的数字,没有则输出YES,有则输出NO。
输入
- 第一行输入T,代表T个样例
每一个样例:
- 第一行输入n,代表一共有n个数
- 第二行输入$a^1$,$$a_2$$,$a_3$……an,0表示离开学校,1表示进入学校
- 1≤T≤100
- 3≤n≤50
- 0≤ai≤1
输出
对每个样例,如果没有连续的数字,则输出YES,有连续的数字,则输出NO。
样例
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 <bits/stdc++.h>
typedef long long ll;
typedef unsigned long long ull;
#define inf 0x3f3f3f3f
#define INF 0x3f3f3f3f3f3f3f3f
#define debug(x) cout << "---->" << x << endl;
using namespace std;
const double pi = acos(-1.0);
const int maxn = 1e6+5;
const int maxm = 1e5+5;
int n, a[55];
int main()
{
int t;
scanf("%d", &t);
while(t--)
{
scanf("%d", &n);
for(int i = 1; i <= n; i++)
scanf("%d", &a[i]);
int flag = 1;
for(int i = 1; i < n; i++)
{
if(a[i] == a[i+1]) {
flag = 0;
break;
}
}
if(flag) printf("YES\n");
else printf("NO\n");
}
return 0;
}
1011 Reports
题面
给你一个数组,问数组中是否有连续的数字,没有则输出YES,有则输出NO。
输入
- 第一行输入T,代表T个样例
每一个样例:
- 第一行输入n,代表一共有n个数
- 第二行输入$a^1$,……an,0表示离开学校,1表示进入学校
- 1≤T≤100
- 3≤n≤50
- 0≤ai≤1
输出
对每个样例,如果没有连续的数字,则输出YES,有连续的数字,则输出NO。
样例
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
思路
签到题,直接模拟就好,遍历一遍数组就可以知道有没有连续的数字了。
代码
版权属于:PCsky
本文链接:http://hyouka.club/index.php/archives/28/
转载时须注明出处及本声明