超时,求助
查看原帖
超时,求助
302584
DottedCalculator楼主2020/7/31 11:23

T121009 我的代码:

#include<iostream>
#include<cstdio>
using namespace std;
int main(){
	int n,step[10000];
	cin>>n;
	for(int i=0;i<=9999;i++)    step[i]=-1;
	step[10]=0;
	int cur=1;
	while(step[n]==-1){
		for(int i=0;i<=9999;i++){
			if(step[i]==cur-1){
				if(step[i+1]==0)    step[i+1]=cur;
				if(step[i+10]==0)    step[i+10]=cur;
				if(step[i+100]==0)    step[i+100]=cur;
				if(step[i+1000]==0)    step[i+1000]=cur;
				if(step[i+10000]==0)    step[i+10000]=cur;
				if(step[i-1]==0)    step[i-1]=cur;
				if(step[i-10]==0)    step[i-10]=cur;
				if(step[i-100]==0)    step[i-100]=cur;
				if(step[i-1000]==0)    step[i-1000]=cur;
				if(step[i-10000]==0)    step[i-10000]=cur;
			}
		}
		cur++;
	}
	cout<<step[n];
	getchar();getchar();
	return 0;
}
2020/7/31 11:23
加载中...