제출 #135655

#제출 시각아이디문제언어결과실행 시간메모리
135655forelaxThree Friends (BOI14_friends)C++14
0 / 100
127 ms7364 KiB
#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;
    if(vfb==n||vsf==n){
        if(vfb==n&&vff==0&&vsf==n&&vsb==0){
            cout<<a.substr(0,n);
        }else{
            cout<<"NOT UNIQUE";
            return 0;
        }
    }
    int sf=vff+vfb;
    int ss=vsf+vsb;
    if(sf>n||ss>n||(sf==n&&ss==n)){
        cout<<"NOT UNIQUE";
        return 0;
    }
    if(sf<n&&ss<n){
        cout<<"NOT POSSIBLE";
        return 0;
    }
    if(sf==n){
        cout<<fa;
    }else if(ss==n){
        cout<<sb;
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...