#include<bits/stdc++.h>
using namespace std;
int n;
int a[10],ans,sum[10][10];
void d(int tiao,int mei){
if(tiao>10){
if(mei == n){
ans++;
for(int i = 1;i<=10;i++){
sum[ans][i] = a[i];
}
}
return ;
}
for(int i = 1;i<=3;i++){
if(mei+i>n){
break;
}
a[tiao] = i;
d(tiao+1,mei+i);
a[tiao] = 0;
}
}
int main(){
cin>>n;
d(1,0);
cout<<ans<<endl;
for(int i = 1;i<=ans;i++){
for(int j = 1;j<=10;j++){
cout<<sum[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
为什么样例输出是零???