이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
using namespace std;
int main(){
int m;cin>>m;
if(m%2==0){
cout<<"NOT POSSIBLE";
return 0;
}
int n=m/2;
string a;
cin>>a;
string fa=a.substr(0,n);
string fb=a.substr(n);
string sa=a.substr(0,n+1);
string sb=a.substr(n+1);
// cout<<fa<<" "<<fb<<endl<<sa<<" "<<sb<<endl;
int vff,vfb;
int vsf,vsb;
for( vff=0 ; vff < n ; vff ++)
if(fa[vff]!=fb[vff])break;
for( vfb=0 ; vfb < n ; vfb ++)
if(fa[n-1-vfb]!=fb[n-vfb])break;
for( vsf=0 ; vsf < n ; vsf ++)
if(sa[vsf]!=sb[vsf])break;
for( vsb=0 ; vsb < n ; vsb ++)
if(sa[n-vsb]!=sb[n-1-vsb])break;
// cout<<vff<<" "<<vfb<<endl<<vsf<<" "<<vsb<<endl;
int sf=vff+vfb;
int ss=vsf+vsb;
if(sf<n&&ss<n){
cout<<"NOT POSSIBLE";
return 0;
}
if(sf>=n&&ss>=n){
if(fa==sb)
cout<<fa;
else
cout<<"NOT UNIQUE";
return 0;
}
if(sf>=n)
cout<<fa;
else if(ss>=n)
cout<<sb;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |