申请加强数据,并叉掉一篇题解
查看原帖
申请加强数据,并叉掉一篇题解
305069
_awa_wangjiawen楼主2025/1/15 09:56

rt。

在第一篇题解已经提到这道题并没有输出不足5行的数据,导致错误代码也能过。

正解

#include<bits/stdc++.h>
using namespace std;
long long n,m,l;
string s;
long long a[31];
int main()
{
	cin>>n>>m>>l>>s;
	for(int i=0;i<s.size();i++)
		a[i+1]=s[i]-'a'+1;
//	for(int i=1;i<=l;i++)
//		cout<<a[i]<<" ";
//	cout<<endl<<endl;
	for(int abc=1;abc<=5;abc++)
	{
		a[l]++;
		int i;
		for(i=l;i>=1;i--)
		{
			if(a[i]<=m-l+i)
				break;
			a[i-1]++;a[i]=-1;
		}
		for(i=i+1;i<=l;i++)
			a[i]=a[i-1]+1;
		if(a[0]!=0)
			break;
		for(int x=1;x<=l;x++)
			cout<<char(a[x]+'a'-1);
		cout<<endl;
	}
}

错解

#include<bits/stdc++.h>
using namespace std;
long long n,m,l;
string s;
long long a[31];
int main()
{
	cin>>n>>m>>l>>s;
	for(int i=0;i<s.size();i++)
		a[i+1]=s[i]-'a'+1;
//	for(int i=1;i<=l;i++)
//		cout<<a[i]<<" ";
//	cout<<endl<<endl;
	for(int abc=1;abc<=5;abc++)
	{
		a[l]++;
		int i;
		for(i=l;i>=1;i--)
		{
			if(a[i]<=m-l+i)
				break;
			a[i-1]++;a[i]=-1;
		}
		for(i=i+1;i<=l;i++)
			a[i]=a[i-1]+1;
//		if(a[0]!=0)
//			break;
//注意这里,我把判断是否还有删除了,却还是能AC
		for(int x=1;x<=l;x++)
			cout<<char(a[x]+'a'-1);
		cout<<endl;
	}
}

在此希望能加强数据。

同时,有一篇题解过不了:

违规用户名971024(第5篇)hack:1 26 1 x

我题目管理名单炸了,能有人帮我@一下

2025/1/15 09:56
加载中...