Submission #106081

#TimeUsernameProblemLanguageResultExecution timeMemory
106081sofhiasouzaThree Friends (BOI14_friends)C++14
35 / 100
1052 ms6168 KiB
#include <bits/stdc++.h> #define pb push_back using namespace std; int main() { int n, cont = -1, flag = 0, q = 0, v = 0; vector < int > vet; cin >> n; getchar(); string s, s11 = "", s12 = "",s21 = "", s22 = "", ante1 = "", ante2 = "", ante11 = "", ante22 = ""; cin >> s; if(n%2 == 0) flag = 0; else { for(int i = n-1; i >= 0 ; i--) { if(i <= n/2) s11.pb(s[i]); else s21.pb(s[i]); } while(s11.size()) { char k = s11[s11.size()-1]; s11.pop_back(); if(q) { ante2.pb(ante1[ante1.size()-1]); ante1.pop_back(); } if(s11 == s21 and s12 == s22) { if(!q) { ante1 = s11; ante2 = s12; q++; flag = 1; } else if(ante1 == s11 and ante2 == s12 and flag == 1) flag = 1; else flag = 2; } if(!s11.size()) continue; s12.pb(k); char k1 = s21[s21.size()-1]; s21.pop_back(); s22.pb(k1); } s11 = "", s12 = "",s21 = "", s22 = ""; for(int i = n-1 ; i >= 0 ; i--) { if(i < n/2) s11.pb(s[i]); else s21.pb(s[i]); } while(s21.size()) { char k = s21[s21.size()-1]; s21.pop_back(); //cout << s21 << '*' << s22 << '*' << s11 << '*' << s12 << endl; if(v) { ante22.pb(ante11[ante11.size()-1]); ante11.pop_back(); } if(s11 == s21 and s12 == s22) { if(!v) { ante11 = s21; ante22 = s22; v++; flag = 1; } else if(ante11 == s21 and ante22 == s22 and flag == 1) flag = 1; else flag = 2; } if(!s21.size()) continue; s22.pb(k); char k1 = s11[s11.size()-1]; s11.pop_back(); s12.pb(k1); } } if(q) { while(ante1.size()) { ante2.pb(ante1[ante1.size()-1]); ante1.pop_back(); } } if(v) { while(ante11.size()) { ante22.pb(ante11[ante11.size()-1]); ante11.pop_back(); } } if(q and v and ante2 != ante22) flag = 2; if(flag == 0) cout << "NOT POSSIBLE\n"; else { if(flag == 1) { if(q) cout << ante2 << endl; else cout << ante22 << endl; } else cout << "NOT UNIQUE\n"; } }

Compilation message (stderr)

friends.cpp: In function 'int main()':
friends.cpp:6:9: warning: unused variable 'cont' [-Wunused-variable]
  int n, cont = -1, flag = 0, q = 0, v = 0;
         ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...