wa #4#12#17#19
查看原帖
wa #4#12#17#19
1775030
littlebird_yuyuan楼主2025/6/30 15:34

代碼如下

#include<iostream>
using namespace std;
char a[3000003],k1[3000003],k2[3000003];
int main(){
	int n,saf=1;
	cin >>n;
	for(int i=1;i<=n;i++)cin >>a[i];
	if(n%2==0){
		cout<<"NOT POSSIBLE";
		return 0;
	}
	char tp=a[1];
	for(int i=1;i<=n;i++){
		if(a[i]!=tp){
			saf=0;
			break;
		}
	}
	if(saf){
		for(int i=1;i<=n/2;i++){
		cout<<a[i];
	}	
	return 0;
	}
	int q = n/2+1;
	int f=0;
	for(int i=q+1;i<=n;i++){
		f++;
		k1[f]=a[i];
	} 
	int sum=0,is=1; 
	for(int i=1;i<=q;i++){
		if(a[i]!=k1[i-sum]){
			sum++;
			if(sum>1){
				is = 0;
				break;
			}
		} 
	}
	q = n/2;
	for(int i=1;i<=q;i++){
		k2[i]=a[i];
	} 
	sum=0;
	int is2=1; 
	for(int i=1;i<=q+1;i++){
		if(a[i+q]!=k2[i-sum]){
			sum++;
			if(sum>1){
				is2 = 0;
				break;
			}
		} 
	}
	if(is&&!is2){
		for(int i=1;i<=q+1;i++)cout<<k1[i];
	}
	else if(!is&&is2){
		for(int i=1;i<=q;i++)cout<<k2[i];
	}
	else if(is&&is2){
		cout<<"NOT UNIQUE";
	}
	else{
		cout<<"NOT POSSIBLE";
	}
}
2025/6/30 15:34
加载中...