Submission #1215905

#TimeUsernameProblemLanguageResultExecution timeMemory
1215905jumpCombo (IOI18_combo)C++20
5 / 100
0 ms408 KiB
#include "combo.h" #include <iostream> int loop = 0; std::string guess_sequence(int N) { int currentCoins = 1; char startsq = 0; char currentsq = 0; char othersq = 0; char lastsq = 0; std::string s = "ABXY"; if(press("AB")) if(press("B"))startsq='B'; else startsq='A'; if(press("XY")) if(press("Y"))startsq='Y'; else startsq='X'; std::string guess_str1; guess_str1.assign(N,startsq); std::string guess_str2; guess_str2.assign(N,startsq); for(auto cs:s){ if(cs!=startsq&&currentsq!=0&&othersq!=0){ lastsq=cs; break; } if(cs!=startsq&&currentsq!=0&&lastsq==0){ othersq=cs; } if(cs!=startsq&&othersq==0){ currentsq=cs; } //std::cout << startsq << ' '<< lastsq << ' ' << currentsq << ' ' << othersq<< '\n'; } for(int i=1;i<N-1;i++){ guess_str2=guess_str1; guess_str1[i]=currentsq; guess_str2[i]=othersq; std::string guess_str3 = guess_str2; std::string guess_str4 = guess_str2; guess_str2[i+1]=lastsq; guess_str3[i+1]=currentsq; guess_str4[i+1]=othersq; int newC = press(guess_str1+guess_str2+guess_str3+guess_str4); if(newC==i){ guess_str1[i]=lastsq; } if(newC==i+1){ guess_str1[i]=currentsq; } if(newC==i+2){ guess_str1[i]=othersq; } //std::cout << guess_str1 << ' ' << lastsq << ' ' << currentsq << ' ' << othersq<< '\n'; } guess_str1[N-1]=lastsq; if(press(guess_str1)==N)return guess_str1; guess_str1[N-1]=currentsq; if(press(guess_str1)==N)return guess_str1; guess_str1[N-1]=othersq; return guess_str1; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...