到底是哪里出了问题呢?
#include<iostream>
using namespace std;
int n;
int arr[11];
int res=0;
int ans[59060][11];
void dfs(int x,int sum)
{
if(sum>n) return;
if(x==11){
if(sum==n)
{
res++;
for(int i=1;i<=10;i++)
{
ans[res][i]=arr[i];
}
return;
}
}
for(int i=1;i<=3;i++)
{
arr[x]=i;
dfs(x+1,sum+i);
}
}
int main()
{
scanf("%d",&n);
dfs(1,0);
printf("%d\n",res);
for(int i=1;i<=res;i++)
{
for(int j=1;j<=10;j++)
{
printf("%d ",ans[i][j]);
}
printf("\n");
}
return 0;
}