csp-J T3求调
  • 板块灌水区
  • 楼主hsqi
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/10/27 14:17
  • 上次更新2024/10/27 15:59:38
查看原帖
csp-J T3求调
1417204
hsqi楼主2024/10/27 14:17
#include<bits/stdc++.h>
using namespace std;
int t,n,dp[60],hh[8]={0,0,1,7,4,2,0,8},minn;
int main(){
	cin>>t;
	for(int i=0;i<=56;i++){
		dp[i]=-1;
	}
	dp[2]=1;
	dp[3]=7;
	dp[4]=4;
	dp[5]=2;
	dp[6]=6;
	dp[7]=8;
	for(int i=8;i<=56;i++){
		minn=99999999;
		for(int j=2;j<8;j++){
			if(dp[i-j]!=-1){
				if(dp[i-j]*10+hh[j]<minn){
					minn=dp[i-j]*10+hh[j];
				}
			}
		}
		if(minn==99999999){
			dp[i]=-1;
		}
		else{
			dp[i]=minn;
		}
	}
	for(int i=0;i<t;i++){
	    cin>>n;
	    if(n>=57){
	    	if(n%7==0){
	       		for(int j=0;j<n/7;j++){
	       		    cout<<'8';
	      		}
	       		cout<<endl;
	       		continue;
			}
			else if(n%7==1){
				cout<<"10";
				for(int j=0;j<n/7-1;j++){
					cout<<'8';
				}
				cout<<endl;
				continue;
			} 
			else if(n%7==2){
			    cout<<"1";
			    for(int j=0;j<n/7;j++){
			        cout<<'8';
			    }
			    cout<<endl;
			    continue;
			}
			else if(n%7==3){
			    cout<<"7";
			    for(int j=0;j<n/7;j++){
			        cout<<'8';
			    }
			    cout<<endl;
			    continue;
			}
			else if(n%7==4){
			    cout<<"4";
			    for(int j=0;j<n/7;j++){
			        cout<<'8';
			    }
			    cout<<endl;
			    continue;
			}
			else if(n%7==5){
			    cout<<"2";
			    for(int j=0;j<n/7;j++){
			        cout<<'8';
			    }
			    cout<<endl;
			    continue;
			}
			else if(n%7==6){
			    cout<<"6";
			    for(int j=0;j<n/7;j++){
			        cout<<'8';
			    }
			    cout<<endl;
			    continue;
			}
	    }
		cout<<dp[n]<<endl;
	}
	return 0;
}
2024/10/27 14:17
加载中...