完了,寄了
查看原帖
完了,寄了
941501
abc1234shi楼主2024/10/26 17:22

赛时代码,本来能骗到80分的,结果1e9用不了,直接CE???

#include<bits/stdc++.h>
using namespace std;
int a[11000000];
int s[11]={6,2,5,5,4,5,6,3,7,6,1e9};
int main(){
	int t;
	cin>>t;
	for(int i=1;i<=11000000;i++){
		int k=i;
		while(k){
			a[i]+=s[k%10];
			k=k/10;
		}
	}
	while(t--){
	int n;
	cin>>n;
	if(n==1)cout<<"-1\n";
	else if(n%7==0){
    for(int i=1;i<=n/7;i++)cout<<8;
    cout<<endl;
    }
    else if(n%7==1)
    {
    		cout<<10;
    		n-=8;
    		for(int i=1;i<=n/7;i++)cout<<8;
    		cout<<endl;
	}
	else {
		for(int i=1;i<=11000000;i++){
			if(n==a[i]){
				cout<<i<<endl;
				break;
			}
		}
	}
    } 
   return 0;
}
2024/10/26 17:22
加载中...