rt,求助
#include<bits/stdc++.h>
using namespace std;
long long n,cnt=0;
int ans[20];
int arr[100000][10];
void dfs(int sum,int k){
if(k==10&&sum==n){
for(int i=1;i<=10;i++){
arr[cnt][i]=ans[i];
}
cnt++;
return ;
}
for(int i=1;i<=3;i++){
if(sum+i>n) break;
ans[k]=i;
dfs(sum+i,k+1);
ans[k]=0;
}
}
int main(){
cin>>n;
if(n>30||n<10) cout<<"0";
else{
dfs(0,0);
cout<<cnt<<endl;
for(int i=0;i<cnt;i++){
for(int j=1;j<=10;j++){
cout<<arr[i][j]<<" ";
}
cout<<endl;
}
}
return 0;
}