Submission #964319

# Submission time Handle Problem Language Result Execution time Memory
964319 2024-04-16T16:02:03 Z IUA_Hasin Combo (IOI18_combo) C++17
5 / 100
1 ms 500 KB
#include "combo.h"

#include <bits/stdc++.h>
 
#define endl                                "\n"
#define yeap                                cout<<"YES"<<endl
#define nope                                cout<<"NO"<<endl
#define ll                                  long long
 
using namespace std; 

// std::string guess_sequence(int N) {
//   std::string p = "";
//   for (int i = 0; i < 4 * N; ++i) {
//     p += 'A';
//   }
//   int coins = press(p);
//   std::string S = "";
//   for (int i = 0; i < N; ++i) {
//     S += 'A';
//   }
//   return S;
// }


std::string guess_sequence(int N) {
  std::string S = "";
  ll first_char;

  std::string p1 = "AB";
  std::string p2 = "A";
  std::string p3 = "X";
  ll a = press(p1);



  if(a>=1){
    ll b = press(p2);
    if(b==1){
      S += "A";
      first_char = 1;
    } else {
      S += "B";
      first_char = 2;
    }
  } else {
    ll b = press(p3);
    if(b==1){
      S += "X";
      first_char = 3;
    } else {
      S += "Y";
      first_char = 4;
    }
  }

  // cout<<first_char<<endl;;

  ll cnt = 1;

  for(int i=3; i<=N; i++){
    std::string temp_string = "";
    std::string temp_string1 = "";
    std::string temp_string2 = "";
    std::string temp_string3 = "";


    if(first_char==1){
      temp_string1 += S;
      temp_string1 += "BB";
      temp_string2 += S;
      temp_string2 += "BX";
      temp_string3 += S;
      temp_string3 += "BY";
      temp_string += S;
      temp_string += "X";
      temp_string += temp_string1+temp_string2+temp_string3;

      ll aa = press(temp_string);

      if(aa==cnt+2){
        S += "B";
        cnt++;
      } else if(aa==cnt+1){
        S += "X";
        cnt++;
      } else {
        S += "Y";
        cnt++;
      }

    } else if(first_char==2){
      temp_string1 += S;
      temp_string1 += "AA";
      temp_string2 += S;
      temp_string2 += "AX";
      temp_string3 += S;
      temp_string3 += "AY";
      temp_string += S;
      temp_string += "X";
      temp_string += temp_string1+temp_string2+temp_string3;

      ll aa = press(temp_string);

      if(aa==cnt+2){
        S += "A";
        cnt++;
      } else if(aa==cnt+1){
        S += "X";
        cnt++;
      } else {
        S += "Y";
        cnt++;
      }


    } else if(first_char==3){
      temp_string1 += S;
      temp_string1 += "AA";
      temp_string2 += S;
      temp_string2 += "AB";
      temp_string3 += S;
      temp_string3 += "AY";
      temp_string += S;
      temp_string += "Y";
      temp_string += temp_string1+temp_string2+temp_string3;

      ll aa = press(temp_string);

      if(aa==cnt+2){
        S += "A";
        cnt++;
      } else if(aa==cnt+1){
        S += "Y";
        cnt++;
      } else {
        S += "B";
        cnt++;
      }


    } else if(first_char==4){
      temp_string1 += S;
      temp_string1 += "AA";
      temp_string2 += S;
      temp_string2 += "AB";
      temp_string3 += S;
      temp_string3 += "AX";
      temp_string += S;
      temp_string += "X";
      temp_string += temp_string1+temp_string2+temp_string3;

      ll aa = press(temp_string);

      if(aa==cnt+2){
        S += "A";
        cnt++;
      } else if(aa==cnt+1){
        S += "X";
        cnt++;
      } else {
        S += "B";
        cnt++;
      }


    }
  }

  std::string last2 = "";
  std::string last1 = "";

  if(first_char==1){
    last2 += S;
    last2 += "B";
    last1 += last2;
    last1 += S;
    last1 += "Y";
    last2 += S;
    last2 += "X";

    ll aa = press(last2);
    ll bb = press(last1);

    if(aa==cnt){
      S += "Y";
    } else {
      if(bb==cnt){
        S += "X";
      } else {
        S += "B";
      }
    }


  } else if(first_char==2){
    last2 += S;
    last2 += "A";
    last1 += last2;
    last1 += S;
    last1 += "Y";
    last2 += S;
    last2 += "X";

    ll aa = press(last2);
    ll bb = press(last1);

    if(aa==cnt){
      S += "Y";
    } else {
      if(bb==cnt){
        S += "X";
      } else {
        S += "A";
      }
    }


  } else if(first_char==3){
    last2 += S;
    last2 += "A";
    last1 += last2;
    last1 += S;
    last1 += "Y";
    last2 += S;
    last2 += "B";

    ll aa = press(last2);
    ll bb = press(last1);

    if(aa==cnt){
      S += "Y";
    } else {
      if(bb==cnt){
        S += "B";
      } else {
        S += "A";
      }
    }

  } else if(first_char==4){
    last2 += S;
    last2 += "A";
    last1 += last2;
    last1 += S;
    last1 += "B";
    last2 += S;
    last2 += "X";

    ll aa = press(last2);
    ll bb = press(last1);

    if(aa==cnt){
      S += "B";
    } else {
      if(bb==cnt){
        S += "X";
      } else {
        S += "A";
      }
    }

  }

  // cout<<S<<endl;
  return S;


}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 0 ms 344 KB Output is correct
7 Correct 1 ms 500 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 0 ms 344 KB Output is correct
10 Correct 0 ms 344 KB Output is correct
11 Correct 1 ms 344 KB Output is correct
12 Correct 0 ms 344 KB Output is correct
13 Correct 0 ms 344 KB Output is correct
14 Correct 0 ms 344 KB Output is correct
15 Correct 1 ms 344 KB Output is correct
16 Correct 0 ms 344 KB Output is correct
17 Correct 1 ms 344 KB Output is correct
18 Correct 0 ms 344 KB Output is correct
19 Correct 1 ms 344 KB Output is correct
20 Correct 1 ms 344 KB Output is correct
21 Correct 0 ms 344 KB Output is correct
22 Correct 1 ms 344 KB Output is correct
23 Correct 0 ms 344 KB Output is correct
24 Correct 0 ms 344 KB Output is correct
25 Correct 0 ms 344 KB Output is correct
26 Correct 0 ms 344 KB Output is correct
27 Correct 0 ms 344 KB Output is correct
28 Correct 0 ms 344 KB Output is correct
29 Correct 0 ms 344 KB Output is correct
30 Correct 1 ms 344 KB Output is correct
31 Correct 0 ms 344 KB Output is correct
32 Correct 0 ms 344 KB Output is correct
33 Correct 0 ms 344 KB Output is correct
34 Correct 1 ms 344 KB Output is correct
35 Correct 1 ms 344 KB Output is correct
36 Correct 0 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 344 KB Wrong Answer: wrong guess.
2 Halted 0 ms 0 KB -