fork(1) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. long long a[60];
  5. long long p[58];
  6. long long q[58];
  7. int b[2]={0};
  8. void dp(long long int k)
  9. {
  10. for(int i=0;i<60 && k>=a[i];i++)
  11. {
  12. if(k==a[i])
  13. {
  14. b[0]=1;
  15. return;
  16. //return b;
  17. }
  18. if(i<58)
  19. {
  20. if(k==p[i])
  21. {
  22. b[0]=0;
  23. return;
  24. }
  25. if(k==q[i])
  26. {
  27. b[0]=1;
  28. return;
  29. }
  30.  
  31. }
  32. }
  33. if(k==3)
  34. {
  35. b[0]=0;
  36. return;
  37. }
  38.  
  39. if(k%2==0)
  40. {
  41. dp(k/2);
  42. return;
  43. }
  44. else
  45. {
  46. b[1]++;
  47. for(int i=0;i<60;i++)
  48. {
  49. if(a[i]>k)
  50. {
  51. dp(a[i]-k);
  52. return;
  53. }
  54. }
  55. }
  56. }
  57.  
  58. int main()
  59. {
  60. ios_base::sync_with_stdio(false);
  61. cin.tie(NULL);
  62. int t;
  63. cin>>t;
  64. a[0]=1;
  65. for(int i=1;i<60;i++)
  66. a[i]=a[i-1]*2;
  67. for(int i=0;i<58;i++)
  68. {
  69. p[i]=a[i+2]-1;
  70. q[i]=a[i+2]+1;
  71. }
  72. while(t--)
  73. {
  74. b[1]=0;
  75. int count=0;
  76. long long k;
  77. cin>>k;
  78. //count=0;
  79. dp(k);
  80. //cout<<b[0]<<b[1]<<" ";
  81. if(b[1]%2==0)
  82. {
  83. if(b[0]==1)
  84. cout<<"a\n";
  85. else cout<<"c\n";
  86. }
  87. else
  88. {
  89. if(b[0]==1)
  90. cout<<"c\n";
  91. else cout<<"a\n";
  92. }
  93. }
  94.  
  95. return 0;
  96. }
Success #stdin #stdout 0s 16064KB
stdin
3
1
2
3
stdout
a
a
c