问个问题
  • 板块灌水区
  • 楼主__tsts_876786__
  • 当前回复0
  • 已保存回复0
  • 发布时间2022/12/2 23:09
  • 上次更新2023/10/27 00:41:13
查看原帖
问个问题
876786
__tsts_876786__楼主2022/12/2 23:09

为什么这个代码本地没问题,ide上re

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<iomanip>
#include<algorithm>
#define ll long long
#define ull unsigned long long
using namespace std;
//char t[20010];
//chtsr no[2010];
struct node{
	char a;
	bool wu;
}t[20010];
int n=-1,leftn,rightn,longn,maxn,maxleft,maxright;
int main(){
	while (scanf("%c",&t[++n].a)!=EOF);
	for(int i=1;i<n;i++){
		if(t[i].a>='A' && t[i].a<='Z'){
			t[i].a+=32;
			t[i].wu=1;
		}
	}
	for(int i=1;i<n-1;i++){
		for(int j=i+1,k=i-1;j<n && k>=0;j++,k--){
		//	cout<<(int)t[i]<<" "<<(int)t[j]<<" "<<(int)t[k]<<endl;
			if(((int)t[i].a<65 || (int)t[i].a>122) || ((int)t[i].a>90 && (int)t[i].a<97)){
				break;
			}
			while(((int)t[j].a<65 || (int)t[j].a>122) || ((int)t[j].a>90 && (int)t[j].a<97)){
				j++;
			}
			while(((int)t[k].a<65 || (int)t[k].a>122) || ((int)t[k].a>90 && (int)t[k].a<97)){
				k--;
			}
			if(t[j].a==t[k].a){
				leftn=k;
				rightn=j;
			}else{
				break;
			}
			
		}//cout<<endl;
		longn=rightn-leftn+1;
		if(longn>maxn){
			maxn=longn;
			maxleft=leftn,maxright=rightn;
		}
	}
//	cout<<maxleft<<" "<<maxright<<endl;
	for(int i=maxleft;i<=maxright;i++){
		if(((int)t[i].a<65 || (int)t[i].a>122) || ((int)t[i].a>90 && (int)t[i].a<97)){
			maxn--;
		}
	}
	cout<<maxn<<endl;
	for(int i=maxleft;i<=maxright;i++){
		if(t[i].wu==1){
			t[i].a-=32;
			cout<<t[i].a;
		}else{
			cout<<t[i].a;
		}
	}
	return 0;
}
2022/12/2 23:09
加载中...