rt。
code:
#include <bits/stdc++.h>
using namespace std;
int a, p[15], sum = 0, ans[5005][5005];
void dfs (int x, int tot){
if (x == 10){
for (int i = 1; i <= 3; i++){
if (tot + i == a){
sum++;
p[x] = i;
for (int j = 1; j <= 10; j++){
ans[sum][j] = p[j];
}
return;
}
}
return;
}
for (int i = 1; i <= 3; i++){
p[x] = i;
dfs (x + 1, tot + i);
}
}
int main (){
cin >> a;
if (a < 10 || a > 30){
cout << 0;
return 0;
}
dfs (1, 0);
cout << sum << endl;;
for (int i = 1; i <= sum; i++){
for (int j = 1; j <= 10; j++){
cout << ans[i][j] << " ";
}
cout << endl;
}
return 0;
}