6pts
查看原帖
6pts
990278
NEGATUIVE_SEVEN_DL楼主2024/10/13 20:07
#include<bits/stdc++.h>
using namespace std;
int n;
string b;
int a[200005];
int num_g,num_h,cnt_g,cnt_h,f_g,f_h,cnt;
int main()
{
	cin>>n;
	cin>>b;
	for(int i=1;i<=n;i++)
	{
		if(b[i]=='G') num_g++;
		if(b[i]=='H') num_h++;
		cin>>a[i];
	}
	if(num_g==1&&num_h==1)
	{
		cout<<1;
		return 0;
	}
	for(int i=1;i<=n;i++)
	{
		cnt_g=0;
		cnt_h=0;
		for(int j=i;j<=a[i];i++)
		{
			if(b[j]=='G') cnt_g++;
			if(b[j]=='H') cnt_h++;
		}
		if(b[i]=='G')
		{
			if(cnt_g==num_g||f_h==1)
			{
				f_g=1;
				cnt++;
			}
		}
		if(b[i]=='H')
		{
			if(cnt_h==num_h||f_g)
			{
				f_h=1;
				cnt++;
			}
		}
	} 
	cout<<cnt;
	return 0;
 }
2024/10/13 20:07
加载中...