40分求调!!!
查看原帖
40分求调!!!
820018
Chen091225楼主2024/10/27 13:28

思路是先用dfs找出来前几十个规律,然后根据规律输出,只有40分

#include <bits/stdc++.h>
using namespace std;
int anss[50] = {0, -1, 1,7,4,2,6,8,10,18,22,20,28,68,88,108,188,200,208,288,688,888,1088,1888};
int f[15] = {888, 108,188,200,208,288,688};
int T, n;
int main()
{
	cin >> T;
	while(T--)
	{
		cin >> n;
		if(n <= 21)
		{
			cout << anss[n] << '\n';
			continue;
		}else{
			n -= 14;
			cout << f[n % 7];
			for(int i = 1;i <= n / 7; i++)
				cout << 8;
			cout << '\n';
		}
	}
	return 0;
}

2024/10/27 13:28
加载中...