提供一组hack数据
查看原帖
提供一组hack数据
833124
BIOS楼主2024/3/15 16:37
#include<iostream>
#include<cstring>
#include<vector>
using namespace std;
#define int long long
const int N=5e5+5;
string s;
vector<int>g,h;
int n,res,s1,s2,t1,t2;
signed main()
{
	cin>>n>>s;
	if(s[0]=='G')
		h.push_back(0);
	else
		g.push_back(0);
	for(int i=0;i<s.size();i++)
		if(s[i]=='G')
			g.push_back(i+1);
		else
			h.push_back(i+1);
	if(s[n-1]=='G')
		h.push_back(n+1);
	else	
		g.push_back(n+1);
	for(int l=0,m=1,r=2;r<g.size();l++,m++,r++)
	{
	    s1=(g[m]-g[l]-1),s2=(g[r]-g[m]-1),res+=s1*s2;
	    if(s2>1)
	        res+=s2-1;
	    if(s1>1)
	        res+=s1-1;
	}
	for(int l=0,m=1,r=2;r<h.size();l++,m++,r++)
	{
	    s1=(h[m]-h[l]-1),s2=(h[r]-h[m]-1),res+=s1*s2;
	    if(s2>1)
	        res+=s2-1;
	    if(s1>1)
	        res+=s1-1;
	}
	cout<<res<<endl;
}

该AC代码在数据为下时输出0,正确答案为4:

5
GHHHG

数据来源:ACWing

2024/3/15 16:37
加载中...