WA in 15
查看原帖
WA in 15
626836
Lovely_Doggie楼主2023/1/2 16:56

题目传送门

求优化,给出改法的赏关注qwq

错误信息(测试点15):

Wrong Answer.wrong answer Jury has better answer 87 instead of participant's 113 [n=200, k=2]
#include<bits/stdc++.h>
using namespace std;
string s;
long n,k;
bool panduan[100];
long temp[1000];
long baoliu[1000];
long ans;
char ch[26]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
int main()
{
	cin>>n>>k;
	cin>>s;
	for(int i=0;i<n;i++)
	{
		temp[i]=s[i]-'A'+1;	
		baoliu[i]=s[i]-'A'+1;
	}
	if(k==2)
	{
		for(int i=0;i<n;i++)
		{
			if(temp[i]==1&&temp[i+2]==1)
			{
				temp[i+1]=2;
			}
			if(temp[i]==2&&temp[i]==2)
			{
				temp[i+1]=1;
			}
			if(temp[i]==1&&temp[i+1]==1)
			{
				temp[i]=2;
			}
				if(temp[i]==2&&temp[i+1]==2)
			{
				temp[i]=1;
			}
				if(temp[i]==2&&temp[i+1]==1&&temp[i+2]==1)
			{
				temp[i+2]=2;
			}

		}
		
	}
	else{
			for(int i=1;i<n;i++)
	{
		for(int j=0;j<k;j++)
		{
			if(temp[i-1]==temp[i])
			{
				temp[i]++;
				if(temp[i]>k)
				{
					temp[i]-=k;
				}
			}
		} 
		
	}
	}

	for(int i=0;i<n;i++)
	{
		if(temp[i]!=baoliu[i])
		{
			ans++;
		}
	}
	cout<<ans<<endl;
	for(int i=0;i<n;i++)
	{
		cout<<ch[temp[i]-1];
	}
	return 0;
}
2023/1/2 16:56
加载中...