fork download
  1. #pragma GCC optimize ("Ofast")
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4. inline int my_getchar(){
  5. return getchar();
  6. }
  7. inline void rd(int &x){
  8. int k;
  9. int m=0;
  10. x=0;
  11. for(;;){
  12. k = my_getchar();
  13. if(k=='-'){
  14. m=1;
  15. break;
  16. }
  17. if('0'<=k&&k<='9'){
  18. x=k-'0';
  19. break;
  20. }
  21. }
  22. for(;;){
  23. k = my_getchar();
  24. if(k<'0'||k>'9'){
  25. break;
  26. }
  27. x=x*10+k-'0';
  28. }
  29. if(m){
  30. x=-x;
  31. }
  32. }
  33. inline void my_putchar(const int k){
  34. putchar(k);
  35. if(k=='\n'){
  36. fflush(stdout);
  37. }
  38. }
  39. inline void wt_L(char a){
  40. my_putchar(a);
  41. }
  42. inline void wt_L(int x){
  43. int s=0;
  44. int m=0;
  45. char f[10];
  46. if(x<0){
  47. m=1;
  48. x=-x;
  49. }
  50. while(x){
  51. f[s++]=x%10;
  52. x/=10;
  53. }
  54. if(!s){
  55. f[s++]=0;
  56. }
  57. if(m){
  58. my_putchar('-');
  59. }
  60. while(s--){
  61. my_putchar(f[s]+'0');
  62. }
  63. }
  64. inline void wt_L(const char c[]){
  65. int i=0;
  66. for(i=0;c[i]!='\0';i++){
  67. my_putchar(c[i]);
  68. }
  69. }
  70. int T;
  71. int N;
  72. int i;
  73. int k;
  74. int main(){
  75. int Lj4PdHRW;
  76. rd(T);
  77. rd(N);
  78. for(Lj4PdHRW=(0);Lj4PdHRW<(T);Lj4PdHRW++){
  79. for(i=(0);i<(N-1);i++){
  80. wt_L("M");
  81. wt_L(' ');
  82. wt_L(i+1);
  83. wt_L(' ');
  84. wt_L(N);
  85. wt_L('\n');
  86. rd(k);
  87. if(k!=i+1){
  88. wt_L("S");
  89. wt_L(' ');
  90. wt_L(i+1);
  91. wt_L(' ');
  92. wt_L(k);
  93. wt_L('\n');
  94. rd(k);
  95. }
  96. }
  97. wt_L("D");
  98. wt_L('\n');
  99. rd(k);
  100. }
  101. return 0;
  102. }
  103. // cLay version 20210405-1
  104.  
  105. // --- original code ---
  106. // //interactive
  107. // int T, N, i, k;
  108. // {
  109. // rd(T,N);
  110. // rep(T){
  111. // rep(i,N-1){
  112. // wt("M",i+1,N);
  113. // rd(k);
  114. // if(k!=i+1){
  115. // wt("S",i+1,k);
  116. // rd(k);
  117. // }
  118. // }
  119. // wt("D");
  120. // rd(k);
  121. // }
  122. // }
  123.  
Time limit exceeded #stdin #stdout 5s 5468KB
stdin
Standard input is empty
stdout
Standard output is empty