| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 38407 | hi_hi | 【J】T4 | C++ | 解答错误 | 80 | 70 MS | 9988 KB | 1157 | 2025-10-07 11:53:20 |
#include<bits/stdc++.h> using namespace std; int n,sum,id; string s; bool l[2000005],l1[2000005],r1[2000005],r[2000005]; int main(){ cin>>n; cin>>s; if(n%2==0){ cout<<"NOT POSSIBLE"; return 0; } for(int i=0;i<=n/2-1;i++){ if(s[i]==s[i+n/2+1]){ l1[i]=1; } else{ break; } } if(l1[n/2-1]==1){ id=n/2; sum++; } for(int i=n/2-1;i>=0;i--){ if(s[i]==s[i+n/2+1]){ r1[i]=1; } else{ break; } } for(int i=n/2-1;i>=0;i--){ if(s[i+1]==s[i+n/2+1]){ r[i]=1; } else{ break; } } for(int i=0;i<=n/2-1;i++){ if(s[i]==s[i+n/2]){ l[i]=1; } else{ break; } } for(int i=0;i<=n-1;i++){ if(i==n/2) continue; if(i<n/2){ if((i==0||l1[i-1])&&r[i]){ sum++; id=i; } } else if(i>n/2){ if((i==n-1||r1[i-n/2])&&l[i-n/2-1]){ sum++; id=i; } } } if(sum==0){ cout<<"NOT POSSIBLE"; } else if(sum==1){ if(id<=n/2){ for(int i=n/2+1;i<=n-1;i++){ cout<<s[i]; } } else{ for(int i=0;i<=n/2-1;i++){ cout<<s[i]; } } } else{ cout<<"NOT UNIQUE"; } return 0; }