模拟考题求助(这个蒟蒻终于调好代码了
  • 板块学术版
  • 楼主coininin
  • 当前回复7
  • 已保存回复7
  • 发布时间2023/10/19 23:56
  • 上次更新2023/11/2 12:39:14
查看原帖
模拟考题求助(这个蒟蒻终于调好代码了
1027687
coininin楼主2023/10/19 23:56
#include<bits/stdc++.h>
using namespace std;
int main(){
	char a[100005];
	long long i=0,x=0;
	cin>>a;
	while(a[0]!='9'){
		i=0;
		while(i<strlen(a)){
			if(a[i]=='9'){
				if(i==0){
					x=1;
				}
				else{
					a[i]=48;
				}
			}
			else{
				a[i]++;
			}
			if(x==1){
				break;
			}
			i++;
		}
	}
	i=1;
	while(i<strlen(a)){
		if(a[i]!='9'){
			a[i]++;
			break;
		}
		i++;
	}
	cout<<a;
	return 0;
}

大概就是:

可以无数次将所有数位+1(比如1234变成2345这样的)

只能有一次将其中一个数位+1(比如1234变成2234这样的)

加的时候遇到9就变成0

求怎么变可以变出最大的数

输入的数小于10的100000次方,我用的char数组,感觉没问题,但是50分,极端数据测试过,不会超时(时限1.00s)

求hack

2023/10/19 23:56
加载中...