Submission #105578

#TimeUsernameProblemLanguageResultExecution timeMemory
105578Leonardo_PaesThree Friends (BOI14_friends)C++11
0 / 100
1070 ms6408 KiB
#include <bits/stdc++.h> using namespace std; int mark[27]; int main(){ map<string, int> m; int n; cin >> n; string t; cin >> t; for(int i=0; i<n; i++){ mark[t[i]-'A']++; } if(n%2==0){ cout << "NOT POSSIBLE" << endl; return 0; } int x=-1; bool resp=true; for(int i=0; i<=26; i++){ if(mark[i]%2==1){ if(x!=-1)resp=false; x=i; } } if(resp==false){ cout << "NOT POSSIBLE" << endl; return 0; } string y; string p; for(int i=0; i<n; i++){ if(t[i]-'A'==x){ int u=0; string h; for(int j=0; j<n; j++){ if(i!=j){ h+=t[j]; u++; } if(u==(n-1)/2)break; } string q; for(int i=u+1; i<n; i++){ q+=t[i]; } if(q==h and m.find(q)==m.end()){ y=q; m[q]=2; } else{ p="NOT UNIQUE\n"; } } } // if(resp==false){ // cout << "NOT POSSIBLE\n"; //} if(resp==false){ cout << "NOT UNIQUE\n"; } else{ cout << y << endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...