提供一种题解区没有的思路
查看原帖
提供一种题解区没有的思路
1285343
w13675481318楼主2024/11/6 22:26
#include<iostream>
#include<cmath>
using namespace std;
int t,n,wei,gen[15]={6,2,5,5,4,5,6,3,7,6},num[100005],top;
int main(){
	cin>>t;
	while(t--){
		cin>>n;
		int begin;
		wei=(int)(ceil(n/7.0));
		for(int i=1;i<=wei;i++){
			if(i==1) begin=1;
			else begin=0;
			for(int j=begin;j<=9;j++){
				if(n-gen[j]<=(wei-i)*7&&n-gen[j]>=0){
					num[top++]=j;
					n-=gen[j];
					break;
				}
			}
		}
		if(num[0]==0){
			cout<<-1;
		}
		else{
			for(int i=0;i<top;i++){
				cout<<num[i];
				num[i]=0;
			}
		}
		cout<<endl;
		top=0;
	}
	return 0;
}
2024/11/6 22:26
加载中...