fork download
  1. #include<bits/stdc++.h>
  2. #define mod 1000000007
  3. #define ll long long
  4. #define p(x) pair<x,x>
  5. #define v(x) vector<x>
  6. #define Tree node*
  7. #define sz(a) a.size()
  8. #define x first
  9. #define y second
  10. #define pb(a) push_back(a)
  11. #define pf(a) push_front(a)
  12. #define FOR(i, l, r) for (int i = l; i < r; i++)
  13. #define FORX(i, l, r, x) for (int i = l; i < r; i += x)
  14. #define FORD(i, l, r) for (int i = l; i >= r; i--)
  15. #define correct(x, y, n, m) 0 <= (x)&&(x) < (n)& & 0 <= (y)&&(y) < (m)
  16. #define cin(M, n) FOR(i, 0, n)cin >> M[i]
  17. #define cout(M, n) FOR(i, 0, n)cout << M[i] << " "
  18. #define rs(M, x) memset(M, x, sizeof(M))
  19. #define reset() FOR(i, 0, 1001)A[i].clear(), check[i] = false
  20. #define faster() cin.tie(0); ios_base::sync_with_stdio(false); cout.tie(0);
  21. #define run() int t; cin >> t; while (t--)
  22. #define pq(x) priority_queue<x>
  23. #define neg_pq(x) priority_queue<x, vector<x>, greater<x>>
  24. #define all(M) M.begin(), M.end()
  25. using namespace std;
  26.  
  27. //_______________________NGUYỄN_NGỌC_TOÀN_______________________//
  28.  
  29. ll f[100];
  30.  
  31. char Load(ll n, ll k) {
  32. if (n == 1)return 'A';
  33. if (n == 2)return 'B';
  34. if (k <= f[n - 2])return Load(n - 2, k);
  35. else return Load(n - 1, k - f[n - 2]);
  36. }
  37.  
  38. int main() {
  39. faster();
  40. f[1] = f[2] = 1;
  41. FOR(i, 3, 93)f[i] = f[i - 1] + f[i - 2];
  42. run() {
  43. ll n, k; cin >> n >> k;
  44. cout << Load(n, k) << endl;
  45. }
  46. }
  47.  
  48. //__________________________B20DCPT173__________________________//
Success #stdin #stdout 0.01s 5320KB
stdin
2
6 4
8 19
stdout
A
B