fork(1) download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int fib[45];
  5.  
  6. char solve(int n, int k) {
  7. if (n == 0) return 'a';
  8. if (n == 1) return 'b';
  9. if (k <= fib[n - 2]) return solve(n - 2, k);
  10. return solve(n - 1, k - fib[n - 2]);
  11. }
  12.  
  13. int main() {
  14. int n, k, tests;
  15. fib[0] = 1;
  16. fib[1] = 1;
  17. for (int i = 2; i < 45; i++) fib[i] = fib[i - 1] + fib[i - 2];
  18. cin >> tests;
  19. while (tests--) {
  20. cin >> n >> k;
  21. cout << solve(n, k) << endl;
  22. }
  23. return 0;
  24. }
Success #stdin #stdout 0s 15232KB
stdin
6
45 6
38 30
6 5
24 40
0 1
2 2
stdout
b
a
b
b
a
b