P1210 蒟蒻的疑问
查看原帖
P1210 蒟蒻的疑问
1116014
shimucheng楼主2024/7/25 20:04

蒟蒻代码在Dev C++中不能输出,为何在洛谷AC了? 代码:

#include<bits/stdc++.h>
using namespace std;
char st[20005],s[20005],c;
int pos[20005],len,maxx,be,ed;
int main () {
	while ((c=getchar())!=EOF) {
		st[len++]=c;
	}
	//预处理
	int j = 0; 
	for (int i = 0; i < len; i++)
		if (isalpha(st[i])) {
			s[j] = tolower(st[i]);
			pos[j++] = i;
		} 
	//枚举中点 
	for(int i=0;i<j;i++) {
		//串长为奇,向两边扩展k个字符 
		for(int k=0;i-k>=0&&i+k<j;k++) {
			if(s[i-k]!=s[i+k]) break;//不相等一定不是回文
			if(2*k+1>maxx) {
				maxx=2*k+1;
				be=pos[i - k];
				ed=pos[i + k];
			}	
		} 
		//串长为偶
		for(int k=0;i-k>=0&&i+k+1<j;k++) {
			if(s[i-k]!=s[i+k+1]) break;//不相等一定不是回文
			if(2*k+2>maxx) {
				maxx=2*k+2;//同时向两边增加k个数,再加上自己 
				be=pos[i-k];
				ed=pos[i+k+1];
			}	
		} 
	}
	cout<<maxx<<endl;
	for (int i=be;i<=ed;i++) cout<<st[i];
	return 0;
}

[AC记录] (https://www.luogu.com.cn/record/168543501)

2024/7/25 20:04
加载中...