10分,help!
查看原帖
10分,help!
797897
_QyGyQ_楼主2023/8/21 08:54
#include<bits/stdc++.h>
#define int long long
using namespace std;
using ll=long long;
const int N=1e5+7;
int yu;
signed main(){
	int t;
	cin>>t;
	while(t--){
		int n,ans=-1;
		string s;
		cin>>n>>s;
		for(int i=0;i<n;i++){
			if(s[i]=='B'&&i+3<n){
				if(s[i+1]=='T'&&s[i+2]=='T'&&s[i+3]=='B'){
					if(i-1>=0&&i+4<n){
						if(s[i-1]=='T'||s[i+4]=='T'){
							s[i]='T';
							s[i+1]='B';
							s[i+2]='B';
							s[i+3]='T';
						}
					}
					if(i<=0&&i+4<n){
						if(s[i+4]=='T'){
							s[i]='T';
							s[i+1]='B';
							s[i+2]='B';
							s[i+3]='T';
						}
					}
					if(i>0&&i+4>=n){
						if(s[i-1]=='T'){
							s[i]='T';
							s[i+1]='B';
							s[i+2]='B';
							s[i+3]='T';
						}
					}
				}
			}
		}
		for(int i=0;i<n;i++){
			if(s[i]=='T'){
				int sum=1;
				s[i]='B';
				for(int j=i+1;j<n;j++){
					if(s[j]=='T'){
						sum++;
						s[j]='B';
					}
					else break;
				}
				ans=max(ans,sum);
			}
		}
		if(ans==-1) puts("0");
		else cout<<ans<<"\n";
	}
	return 0;
}

2023/8/21 08:54
加载中...