0 分求调
查看原帖
0 分求调
1097314
封禁用户楼主2024/10/29 20:38

rt,跟第二篇题解思路基本一致,但不知道为什么本地测试一直在输出 387389208-387389208,求大佬指点

#include<bits/stdc++.h>
using namespace std;
int T,n,a[1000]={6,2,5,5,4,5,6,3,7,6},minn[22],t;
int main(){
	memset(minn,1000,sizeof(minn));
	for(int i=1;i<=999;i++){
		if(i>9) a[i]=a[i/10]+a[i%10];
		if(!minn[a[i]]) minn[a[i]]=i;
	}
	//for(int i=1;i<=21;i++) cout<<minn[i]<<endl;
	cin>>T;
	while(T--){
		cin>>n;
		if(n==1){
			cout<<"-1\n";
			continue;
		}
		t=n%21;
		cout<<minn[t];
		for(int i=1;i<=(n-t)/7;i++) cout<<8;
		cout<<endl;
	}
}
2024/10/29 20:38
加载中...