Advertisement
Josif_tepe

Untitled

Apr 6th, 2023
633
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.75 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #include "combo.h"
  3.  
  4. using ll=long long;
  5.  
  6. using namespace std;
  7.  
  8.  
  9. string guess_sequence(int n)
  10. {
  11.     vector<string>v;
  12.     v.push_back("A");
  13.     v.push_back("B");
  14.     v.push_back("X");
  15.     v.push_back("Y");
  16.     string ans="";
  17.     int num=press("AB");
  18.     if(num==2)
  19.     {
  20.         ans+="A";
  21.         v.erase(v.begin()+0);
  22.     }
  23.     else if(num==1)
  24.     {
  25.         int num2=press("A");
  26.         if(num2==1)
  27.         {
  28.             ans+="A";
  29.             v.erase(v.begin()+0);
  30.         }
  31.         else
  32.         {
  33.             ans+="B";
  34.             v.erase(v.begin()+1);
  35.         }
  36.     }
  37.     else if(num==0)
  38.     {
  39.         int m=press("X");
  40.         if(m==1)
  41.         {
  42.             ans+="X";
  43.             v.erase(v.begin()+2);
  44.         }
  45.         else
  46.         {
  47.             ans+="Y";
  48.             v.erase(v.begin()+3);
  49.         }
  50.     }
  51.     while(true)
  52.     {
  53.         int k=ans.size();
  54.         string nstr="";
  55.         nstr+=ans+v[0]+ans+v[1]+v[0]+ans+v[1]+v[1]+ans+v[1]+v[2];
  56.         if(nstr.size()<=4*n)
  57.         {
  58.             int kol=press(nstr);
  59.             if(kol==k+1)
  60.             {
  61.                 ans+=v[0];
  62.             }
  63.             else if(kol==k+2)
  64.             {
  65.                 ans+=v[1];
  66.             }
  67.             else
  68.             {
  69.                 ans+=v[2];
  70.             }
  71.         }
  72.         else
  73.         {
  74.             if(n==1)
  75.             {
  76.                 break;
  77.             }
  78.             if(press(ans+v[0])==n)
  79.             {
  80.                 ans+=v[0];
  81.                 break;
  82.             }
  83.             if(press(ans+v[1])==n)
  84.             {
  85.                 ans+=v[1];
  86.                 break;
  87.             }
  88.                 ans+=v[2];
  89.                 break;
  90.         }
  91.     }
  92.     return ans;
  93. }
  94.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement