题解:CF2065B Skibidus and Ohio

题解:CF2065B Skibidus and Ohio

题目传送门

题目大意

对于一个字符串 S,进行如下操作:

  • 选定一个 i,满足 1i|S|1,如果 Si=Si+1,那么删除 Si+1,将 Si 改为任意小写字母。
  • |S| 尽可能小。

题目思路

为了使 |S| 尽可能小,我们要使 Si=Si+1 出现次数更多。
对于一个字符串 S1,S2,S3,S4,,Sn,显然如下操作:

  • 如果有两项相等那么经过操作后长度为 1
  • 如果相邻两项互不相等那么无法进行操作,结果为 |S|

代码实现

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll t,len; string s;
int main() {
    cin>>t;
    while(t--){
    	cin>>s;
    	len=s.size();
    	bool flag=0;
    	for(int i=0;i<len-1;i++){
			if(s[i]==s[i+1]){
				flag=1; 
				break;
			}
		}
		(flag)?cout<<1<<'\n':cout<<len<<'\n';
	}
	return 0;
}

posted @   M1_Byte  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
点击右上角即可分享
微信分享提示