제출 #1269504

#제출 시각아이디문제언어결과실행 시간메모리
1269504lekyanh세 명의 친구들 (BOI14_friends)C++20
0 / 100
41 ms10168 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; ll dem=0; void solve(string sub, string s){ sub=sub+sub; ll i=0, j=0, d=0; char e; while(i<sub.size()&&j<s.size()){ if(sub[i]!=s[j]){ d++; e=s[j]; i--; } i++; j++; if(d>=2){ return ; } } //cout<<e<<' '<<sub<<endl; dem++; ll pos=sub.find(e); if(pos<sub.size()) dem++; } ll i, j, n, dem2, kq=0; string s, s1, s2, sub1="", sub2=""; int main(){ cin>>n; cin.ignore(); getline(cin, s); if(s.size()%2==0){ cout<<"NOT POSSIBLE"; return 0; } for(i=0; i<s.size()/2; i++){ s1+=s[i]; } for(i=s.size()/2+1; i<s.size(); i++){ s2+=s[i]; } //cout<<s1<<' '<<s2; solve(s1, s); kq+=dem; if(dem>0) sub1=s1; dem=0; solve(s2, s); kq+=dem; if(dem>0) sub2=s2; //if(kq>=2) cout<<"NOT UNIQUE"; if(kq==0) cout<<"NOT POSSIBLE"; else{ if(sub1==sub2&&sub1!="") cout<<sub1; else if(kq==1){ if(sub1=="") cout<<sub2; else cout<<sub1; } else if(kq>=2) cout<<"NOT UNIQUE"; } } //abcdefghg
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...