Submission #1269507

#TimeUsernameProblemLanguageResultExecution timeMemory
1269507lekyanhThree Friends (BOI14_friends)C++20
0 / 100
40 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 ;
		}
	}
	dem++;
	string ee;
	ee+=e;
	ee+=e;
	ll pos=s.find(ee);
	if(pos<s.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];
	}
	if(s1==s2){
		solve(s1, s);
		if(dem==0) cout<<"NOT POSSIBLE";
		else if(dem>=2) cout<<"NOT UNIQUE";
		else cout<<s1;
		return 0;
	}
	solve(s1, s);
	kq+=dem;
	if(dem!=0) sub1=s1;
	dem=0;
	solve(s2, s);
	kq+=dem;
	if(dem!=0) sub2=s2;
	if(kq==0) cout<<"NOT POSSBILE";
	else if(kq>=2) cout<<"NOT UNIQUE";
	else{
		if(sub1=="") cout<<s2;
		else cout<<s1;
	}
	
	/*
	2
    asasdad
	solve(s1, s);
	kq+=dem;
	if(dem>0) sub1=s1;
	dem=0;
	solve(s2, s);
	kq+=dem;
	if(dem>0) sub2=s2;
	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";
	}
	*/
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...