ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CF926C题解

2022-04-22 10:32:05  阅读:125  来源: 互联网

标签:数串 相等 题解 特判 CF926C 一数 当前 长度


题目:传送门

思路:

存储当前数串的长度和上一数串的长度,每输入一个数就判断和前一个是否相等,若相等则当前数串长度加一,否则比较当前数串和上一数串长度是否相等(记得特判第一个数串的情况),若相等则数串长度重置为 \(1\),若不相等则直接输出 NO 并 return。循环结束后需判断最后一个数串,若与上一个数串长度仍然相等(记得特判只有一个数串的情况),就输出 YES。

代码:

#include <bits/stdc++.h>
  using namespace std;
int n,a,b,t,s,i;
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	cin>>n;
	for (i=1;i<=n;i++)
	{
		cin>>a;
		if (a!=b && i!=1)//若当前数和上一个数不相等。 
		{
			if (t!=s && s!=0)//若当前数串长度和上一数串长度不相等,并特判第一个数串的情况。 
			{
				cout<<"NO\n";
				return 0;
			}
			s=t;
			t=1;
		}
		else t++;
		b=a;
	}
	if (t!=s && s!=0) cout<<"NO\n";//判断最后一个数串,并判断只有一个数串的情况。 
	else cout<<"YES\n";
	return 0;
}

标签:数串,相等,题解,特判,CF926C,一数,当前,长度
来源: https://www.cnblogs.com/Jason142/p/16177748.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有