看了两个小时也没看出来问题,求助!
查看原帖
看了两个小时也没看出来问题,求助!
337410
御坂10026号楼主2020/9/21 22:56

RT,本蒟蒻已经看了很久了,但还是被卡着,求大佬看看

#include<iostream>
using namespace std;
string s,temp;
int n,ans=0;
int search(int x){
	int num=0;
	bool vis[405];
	int i=x-1,j=x;
	if(i==0)
		i=n;
	char a=s[i],b=s[j];
	while(s[i]==a||s[i]=='w'){
		if(vis[i])
			break;
		vis[i]=true;
		num++;
		i--;
		if(i==0)
			i=n;
	}
	while(s[j]==b||s[j]=='w'){
		if(vis[j])
			break;
		vis[j]=true;
		num++;
		j++;
		if(j==n+1)
			j=1;
	}
	return num;
}
int main(){
	cin>>n;
	cin>>temp;
	for(int i=1;i<=n;i++)
		s[i]=temp[i-1];
	for(int i=1;i<=n;i++)
		ans=max(ans,search(i));
	cout<<ans;
	return 0;
}
2020/9/21 22:56
加载中...