#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];
bool tc=0;
void dfs(int d,int a[]){
if(d>n){
if(cmp(a)){
for(int i=1;i<=n;i++)ans[i]=a[i];
tc=1;
}
return;
}
bool flag;
for(int i=1;i<=a[1];i++){
if(tc)return;
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个10^9。。。
为啥ans没变???