Submission #309726

#TimeUsernameProblemLanguageResultExecution timeMemory
309726lukameladzeCombo (IOI18_combo)C++14
5 / 100
1 ms276 KiB
# include <combo.h>	
# include <bits/stdc++.h>

std::string guess_sequence(int N)
 {
     std::string pref;
  std::string p="AB";
  int c=press(p);
  if (c)
  {
     p="A";
     c=press(p);
      if (c)
      pref="A";
      else pref="B";
  }
  else
  {
     p="X";
      c=press(p);
      if (c)
      pref="X";
      else pref="Y";
  }
  
  if (pref=="A")
  {       while (pref.size()<N-1)
       {
        //   cout<<pref<<" 1"<<endl;
          p=pref+"B"+pref+"XY"+pref+"XB"+pref+"XX";
          c=press(p);
          if(c==pref.size()+1)
          {
              pref+="B";
          }
          else
          if (c==pref.size()+2)
          {
               pref+="X";
          }    
          else pref+="Y";
        }
        c=press(pref+"X");
        if (c==N)
        pref+="X";
        else
        {
        c=press(pref+"Y");
        if (c==N)
        pref+="Y";
        if (pref.size()!=N)
        pref+="B";
    }
     }
     if (pref=="X")
  {
       while (pref.size()<N-1)
       {
          // cout<<pref<<" 1"<<endl;
          p=pref+"B"+pref+"AY"+pref+"AB"+pref+"AA";
          c=press(p);
          if(c==pref.size()+1)
          {
              pref+="B";
          }
          else
          if (c==pref.size()+2)
          {
               pref+="A";
          }    
          else pref+="Y";
        }
        c=press(pref+"A");
        if (c==N)
        pref+="A";
        else
        {
        c=press(pref+"Y");
        if (c==N)
        pref+="Y";
        if (pref.size()!=N)
        pref+="B";
    }
     }
     if (pref=="B")
  {
       while (pref.size()<N-1)
       {
          p=pref+"A"+pref+"XY"+pref+"XA"+pref+"XX";
          c=press(p);
          if(c==pref.size()+1)
          {
              pref+="A";
          }
          else
          if (c==pref.size()+2)
          {
               pref+="X";
          }    
          else pref+="Y";
        }
        c=press(pref+"X");
        if (c==N)
        pref+="X";
        else
        {
    
    c=press(pref+"Y");
        if (c==N)
        pref+="Y";
        if (pref.size()!=N)
        pref+="A";
    }
     }
     if (pref=="Y")
  {
       while (pref.size()<N-1)
       {
          p=pref+"B"+pref+"XA"+pref+"XB"+pref+"XX";
          c=press(p);
          if(c==pref.size()+1)
          {
              pref+="B";
          }
          else
          if (c==pref.size()+2)
          {
               pref+="X";
          }    
          else pref+="A";
        }
      //  cout<<pref<<endl;
        c=press(pref+"X");
        if (c==N)
        pref+="X";
        else
        {
        c=press(pref+"A");
        if (c==N)
        pref+="A";
        if (pref.size()!=N)
        pref+="B";
        }
     }
     return pref;
  }    

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:27:29: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   27 |   {       while (pref.size()<N-1)
      |                  ~~~~~~~~~~~^~~~
combo.cpp:32:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |           if(c==pref.size()+1)
      |              ~^~~~~~~~~~~~~~~
combo.cpp:37:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |           if (c==pref.size()+2)
      |               ~^~~~~~~~~~~~~~~
combo.cpp:51:24: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   51 |         if (pref.size()!=N)
      |             ~~~~~~~~~~~^~~
combo.cpp:57:26: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   57 |        while (pref.size()<N-1)
      |               ~~~~~~~~~~~^~~~
combo.cpp:62:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   62 |           if(c==pref.size()+1)
      |              ~^~~~~~~~~~~~~~~
combo.cpp:67:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   67 |           if (c==pref.size()+2)
      |               ~^~~~~~~~~~~~~~~
combo.cpp:81:24: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   81 |         if (pref.size()!=N)
      |             ~~~~~~~~~~~^~~
combo.cpp:87:26: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   87 |        while (pref.size()<N-1)
      |               ~~~~~~~~~~~^~~~
combo.cpp:91:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   91 |           if(c==pref.size()+1)
      |              ~^~~~~~~~~~~~~~~
combo.cpp:96:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   96 |           if (c==pref.size()+2)
      |               ~^~~~~~~~~~~~~~~
combo.cpp:111:24: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  111 |         if (pref.size()!=N)
      |             ~~~~~~~~~~~^~~
combo.cpp:117:26: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  117 |        while (pref.size()<N-1)
      |               ~~~~~~~~~~~^~~~
combo.cpp:121:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  121 |           if(c==pref.size()+1)
      |              ~^~~~~~~~~~~~~~~
combo.cpp:126:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  126 |           if (c==pref.size()+2)
      |               ~^~~~~~~~~~~~~~~
combo.cpp:141:24: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  141 |         if (pref.size()!=N)
      |             ~~~~~~~~~~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...