1 条题解
-
0
跟前一题很像仔细读题:
我们称一个长度为n的字符串是“多样的”,当且仅当没有某个字母出现次数严格大于n/2。例如,字符串 "abc" 和 "iltlml" 是多样的,而 "aab" 和 "zz" 不是。
所以只要相邻两个字符不相同就能满足条件~
遍历字符串,满足相邻两个字母不相同就输出YES。再换行把相邻两个字母输出; 若遍历完整个数组没有符合条件的,就说明整个字符串中每个字符相同,则不存在多样的子串,就输出NO
So代码如下:
#include<bits/stdc++.h> using namespace std; int main(){ int t; bool ok=1; cin>>t; string s; cin>>s; for(int i=0;i<s.size()-1;i++){ if(s[i]!=s[i+1]&&ok){ cout<<"YES"<<endl<<s[i]<<s[i+1]; ok=0; } } if(ok)cout<<"NO"; }
- 1
信息
- ID
- 45
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- (无)
- 递交数
- 26
- 已通过
- 14
- 上传者