题解:CF2010C2 Message Transmission Error (hard version)
Kerwin_liu · · 题解
题目大意
输入一个字符串,如果它是由一个字符串和它本身重叠而成,则输出 YES 和那个字符串,否则输出 NO ,如有多解,输出任意解即可。
思路
因为题目范围较小,可以直接暴力字符串的长度,然后再判断是否符合。
Code
#include<bits/stdc++.h>
using namespace std;
string t;
int n,m;
int main(){
cin>>t;
m=t.size();
n=m/2;
while(n<m-1){
n++;
string a="",b="";
for(int i=0;i<n;i++) a+=t[i];
for(int i=m-n;i<m;i++) b+=t[i];
if(a==b){
cout<<"YES\n"<<a<<"\n";
return 0;
}
}
cout<<"NO\n";
return 0;
}