好吧这些都是我蒟蒻暂时没写出来又找不到错的错题或者是偶然看到但是没来得及写的好玩题。。。以后有心情再来填坑吧。。。
bzoj1786
bzoj3235
bzoj3240
bzoj1069
bzoj3916
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
using namespace std;
const int N=2000100;
char st[N];
int n,ans1,ans2;
int main(){
cin>>n; getchar(); //把n后面的回车消掉
if (n%2==0) {
cout<<"NOT POSSIBLE"<<endl;
return 0;
}
for (int i=1;i<=n;i++) st[i]=getchar();
ans1=1;
for (int i=1,j=1+n/2,can=1;i<=n/2;i++,j++)
if (st[i]!=st[j])
if (!can) {
ans1=0;
break;
}
else {
j++;can=0;
continue;
}
ans2=1;
for (int i=1,j=n/2+2,can=1;j<=n;i++,j++)
if (st[i]!=st[j])
if (!can) {
ans2=0;
break;
}
else {
i++;can=0;
continue;
}
if (ans1 && ans2) {
int i;
for (i=1;i<=n/2 && st[i]==st[i+n/2+1];i++);
if (i>n/2) for (int i=1;i<=n/2;i++) cout<<st[i];
else cout<<"NOT UNIQUE";
}
else
if (ans1) for (int i=1;i<=n/2;i++) cout<<st[i];
else
if (ans2) for (int i=n/2+2;i<=n;i++) cout<<st[i];
else cout<<"NOT POSSIBLE";
cout<<endl;
return 0;
}