#include<bits/stdc++.h>
using namespace std;
int n;
int ans[15]={1000000000,1000000000,1000000000,1000000000,1000000000,1000000000,1000000000,1000000000,1000000000,1000000000,1000000000,1000000000,1000000000,1000000000,1000000000};
bool cmp(int a[]){
for(int i=1;i<=n;i++)if(a[i]!=ans[i])return a[i]<ans[i];
return 0;
}
int b[15];
void dfs(int d,int a[]){
if(d>n){
if(cmp(a))
for(int i=1;i<=n;i++)ans[i]=a[i];
return;
}
bool flag;
for(int i=1;i<=a[1];i++){
flag=0;
b[1]=a[1]-i;
for(int j=2;j<=d+1;j++){
b[j]=a[j-1]-b[j-1];
if(b[j]>9||b[j]<1){
flag=1;
break;
}
}
if(!flag)
dfs(d+1,b);
}
return;
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
int a[15];
cin>>n>>a[1];
dfs(1,a);
for(int i=1;i<=n;i++)cout<<ans[i]<<' ';
return 0;
}
输出了4个1000000000;
为啥没变???