提交时间:2023-08-25 11:11:53
运行 ID: 100322
#include<bits/stdc++.h> using namespace std; void down(int x); void up(int x); string dp[350]; int o = 0; void down(int x){ if (x > 2){ down(x - 2); } o++; dp[o] = dp[o - 1]; dp[o][x - 1] = '0'; if (x > 2){ up(x - 2); } if (x > 1){ down(x - 1); } } void up(int x){ if (x > 1){ up(x - 1); } if (x > 2){ down(x - 2); } o++; dp[o] = dp[o - 1]; dp[o][x - 1] = '1'; if (x > 2){ up(x - 2); } } int main(){ dp[0] = "111111111"; int n; down(9); while (cin>>n){ if (n > 341){ puts("-1"); } else{ cout<<dp[n]<<'\n'; } } return 0; }