Submission #105694

#TimeUsernameProblemLanguageResultExecution timeMemory
105694samsThree Friends (BOI14_friends)C++14
100 / 100
204 ms9312 KiB
#include <bits/stdc++.h> using namespace std; int n; string u; map<char, int> ct; int main() { cin >> n >> u; if(n % 2 == 0) { cout << "NOT POSSIBLE\n"; return 0; } for(auto x: u) ct[x]++; int I = 0; char rep = '.'; for(auto x: ct) if(x.second % 2) I++, rep = x.first; if(I > 1) { cout << "NOT POSSIBLE\n"; return 0; } int mid = (n-1)/2; string s1, s2; int ok = 2; int id = -1; for(int i = 0 ; i < mid ; ++i) s1.push_back(u[i]); for(int i = mid ; i < n ; ++i) s2.push_back(u[i]); string ss = ""; for(int i = 0, j = 0, k = 0; i < mid ; ++j, ++i) { if(s1[i] != s2[j]) { if(k == 0 && s1[i] == s2[j+1]) id = j, j++, k = 1; else { ok--; id = -1; ss = ""; break; } } ss+=s1[i]; } s1.clear(); s2.clear(); for(int i = 0 ; i <= mid ; ++i) s2.push_back(u[i]); for(int i = mid + 1 ; i < n ; ++i) s1.push_back(u[i]); string SS = ""; /* for(int i = 0 ; i < s2.size() ; ++i) cout << s2[i]; cout << "\n"; for(int i = 0 ; i < s1.size() ; ++i) cout << s1[i]; */ for(int i = 0, j = 0, k = 0; i < mid ; ++j, ++i) { if(s1[i] != s2[j]) { if(k == 0 && s1[i] == s2[j+1]) id = j, j++, k = 1; else { ok--; id = -1; SS = ""; break; } } SS+=s1[i]; } if(ok == 0) cout << "NOT POSSIBLE\n"; else if(ok == 1 || ct[rep] == n || ss == SS) { if(ss == "") cout << SS << "\n"; else cout << ss << "\n"; }else cout << "NOT UNIQUE\n"; return 0; }

Compilation message (stderr)

friends.cpp: In function 'int main()':
friends.cpp:38:6: warning: variable 'id' set but not used [-Wunused-but-set-variable]
  int id = -1;
      ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...