求助
  • 板块P2089 烤鸡
  • 楼主yangyoulin
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/3/24 16:34
  • 上次更新2024/3/24 19:00:42
查看原帖
求助
1229346
yangyoulin楼主2024/3/24 16:34
#include "stdio.h"
#include "math.h"
int n,k,ans;
int a[15];
int b[1000000][15];
void dfs(int x,int s)
{
	int i;
	if(x==11&&s==n)
	{
		for(i=1;i<=10;i++)
	     b[k][i]=a[i];
	     ans++;
	     k++;
		
		return ;
	}
	if(s>n) return ;
	
	for(i=1;i<=3;i++)
	{
		a[x]=i;
		dfs(x+1,s+i);
	}
	
}

main()
{
   int i,j;
   scanf("%d",&n);
   if(n<10||n>30) {printf("0"); return 0;}
   dfs(1,0);
   printf("%d\n",ans);
   for(i=0;i<k;i++)
   {
   	for(j=1;j<=10;j++)
   	printf("%d ",b[i][j]);
   	printf("\n");
   }
}
2024/3/24 16:34
加载中...