60分求调
查看原帖
60分求调
1017660
xd22515楼主2025/7/23 12:05

详情

代码:

#include <bits/stdc++.h>
using namespace std;
#define f(i,x,y) for(int i=x;i<=y;i++)
long long n, t, ans, stick[10] = {6, 2, 5, 5, 4, 5, 6, 3, 7, 6},l[8]={0,0,1,7,4,2,6,8};
int main() {
	cin >> t;
	while (t--) {
		cin >> n;
		int sum=n/7;
		if(n<2) cout<<-1;
		else if(n>2 && n<=7) cout<<l[n];
		else if(n%7==0) f(i,1,sum) cout<<8;
		else{
			int ygg=n%7;
			if(ygg==1) {
				cout<<10;
				f(i,1,sum-1) cout<<8;
			}
			if(ygg==2){
				cout<<1;
				f(i,1,sum) cout<<8;
			}
			if(ygg==3){
				if(sum>1) cout<<200;
				else cout<<40;
				f(i,sum>1,sum-2){
					cout<<8;
				}
			}
			if(ygg==4){
				cout<<20;
				f(i,1,sum-1){
					cout<<8;
				}
			}
			if(ygg==5){
				cout<<2;
				f(i,1,sum){
					cout<<8;
				}
			}
			if(ygg==6){
				cout<<80;
				f(i,1,sum-1){
					cout<<8;
				}
			}
		}
		cout << "\n";
	}
	return 0;
}
2025/7/23 12:05
加载中...