专栏文章
题解:CF2121B Above the Clouds
CF2121B题解参与者 2已保存评论 1
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mip0puzz
- 此快照首次捕获于
- 2025/12/03 04:15 3 个月前
- 此快照最后确认于
- 2025/12/03 04:15 3 个月前
题意
给你一个由小写英文字母组成的长度为 的字符串 ,让你判断是否有三个非空的字符串 、、,满足:
- 。
- 是 的字串。
思路
明显当 的长度为 时 最有可能成为 的字串。
那么我们可以开一个桶 来记录 中所有字符出现的次数,然后从 枚举到 ,判断有没有字符出现的次数大于 即可。
代码
CPP#include<iostream>
using namespace std;
int T,n,t[30];
string s;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin>>T;
while(T--){
bool f=1;
cin>>n>>s;
for(int i=0;i<n;i++) t[s[i]-'a']++;//统计
for(int i=1;i<n-1;i++) if(t[s[i]-'a']>1){cout<<"Yes\n",f=0;break;}
if(f) cout<<"No\n";
for(int i=0;i<30;i++) t[i]=0;//多测不清空,爆零两行泪
}
}
相关推荐
评论
共 1 条评论,欢迎与作者交流。
正在加载评论...