fork(1) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. long long DP[44];
  5.  
  6. void init()
  7. {
  8. DP[0] = 1;
  9. DP[1] = 2;
  10. for(int i=2;i<44;++i)
  11. DP[i] = DP[i-1] + DP[i-2];
  12. }
  13.  
  14. void solve(int n,int k)
  15. {
  16. if(n==0)
  17. return;
  18. if(n==1)
  19. {
  20. cout << (k-1);
  21. return;
  22. }
  23. if(k>DP[n-1])
  24. {
  25. cout << "10";
  26. solve(n-2,k-DP[n-1]);
  27. }
  28. else
  29. {
  30. cout << "0";
  31. solve(n-1,k);
  32. }
  33. }
  34.  
  35. int main()
  36. {
  37. init();
  38. int n,k;
  39. cin >> n >> k;
  40. if(k>DP[n])
  41. cout << "-1";
  42. else
  43. solve(n,k);
  44. return 0;
  45. }
Success #stdin #stdout 0s 3300KB
stdin
3 1
stdout
000