感觉打表怎么办?
查看原帖
感觉打表怎么办?
723887
Billion_Chen_Zi楼主2024/9/21 20:39
#include<bits/stdc++.h>
using namespace std;
int a[15];
int  vis[15][5];
int n;
int sum;
int k[10000][11];
int x;
void dfs(int s)
{
	if(s==10)
	{
		int z = 0;
		for(int q=0;q<10;q++)
		{
			z+=a[q];
		}
		if(z==n)
		{
			for(int q=0;q<10;q++)
			{
				k[x][q]=a[q];
			}
			x++;
			sum++;
		}
		return;
	}
	for(int q=0;q<3;q++)
	{
		if(vis[s][q]==0)
		{
			a[s]=q+1;
			vis[s][q]=1;
			dfs(s+1);
			vis[s][q]=0;
					
		}
	}
	
}
int main()
{
	cin>>n;
	dfs(0);
	cout<<sum<<"\n";
	for(int q=0;q<x;q++)
	{
		for(int w=0;w<10;w++)
		{
			cout<<k[q][w]<<" ";
		}
		cout<<"\n";
		
	}
}
2024/9/21 20:39
加载中...