各位大佬,帮忙看看哪个样例不能通过?
查看原帖
各位大佬,帮忙看看哪个样例不能通过?
980130
cleverclever楼主2025/1/14 13:03
#include <bits/stdc++.h>

using namespace std;

int arr[10], ans[10005];
bool f;

void dfs(int n, int step, int z)
{
	if (n == 0)
	{
		f = 1;
		cout << ans[1];
		for (int i = 2; i <= z; i++)
		{
			if (ans[i] == 6)
				ans[i] = 0;
			cout << ans[i];
		}
		cout << endl;
		return;
	}
	if (step > z)
	{
		return;
	}
	for (int i = 1; i <= 8; i++)
	{
		if (arr[i] == -1)
			continue;
		ans[step] = i;
		dfs(n - arr[i], step + 1, z);
		if (f == 1)
			return;
	}
}

int main()
{
	int t, n;
	cin >> t;
	arr[1] = 2, arr[2] = 5, arr[3] = -1, arr[4] = 4, arr[5] = -1, arr[6] = 6;
	arr[7] = 3, arr[8] = 7;
	while (t--)
	{
		f = 0;
		memset(ans, 0, sizeof(ans));
		cin >> n;
		if (n == 1)
			cout << -1 << endl;
		else
			dfs(n, 1, ceil(n / 7.0));
	}
	
	return 0;
 } 
2025/1/14 13:03
加载中...