제출 #349167

#제출 시각아이디문제언어결과실행 시간메모리
349167zggf콤보 (IOI18_combo)C++14
91 / 100
71 ms464 KiB
#include "combo.h" #include <bits/stdc++.h> using namespace std; string guess_sequence(int N) { char firstLetter='X'; if(press("X")) firstLetter = 'X'; else if(press("Y")) firstLetter = 'Y'; else if(press("A")) firstLetter = 'A'; else if(press("B")) firstLetter = 'B'; string wyn = ""; wyn.push_back(firstLetter); for(int i = 1; i < N-1; i++){ if(firstLetter=='A'){ int tmp = press(wyn+"X"+wyn+"YX"+wyn+"YB"+wyn+"YY"); if(tmp==(int)wyn.size()){ wyn.push_back('B'); }else if(tmp==(int)wyn.size()+1){ wyn.push_back('X'); }else wyn.push_back('Y'); } if(firstLetter=='B'){ int tmp = press(wyn+"X"+wyn+"YX"+wyn+"YA"+wyn+"YY"); if(tmp==(int)wyn.size()){ wyn.push_back('A'); }else if(tmp==(int)wyn.size()+1){ wyn.push_back('X'); }else wyn.push_back('Y'); } if(firstLetter=='X'){ int tmp = press(wyn+"B"+wyn+"YB"+wyn+"YA"+wyn+"YY"); if(tmp==(int)wyn.size()){ wyn.push_back('A'); }else if(tmp==(int)wyn.size()+1){ wyn.push_back('B'); }else wyn.push_back('Y'); } if(firstLetter=='Y'){ int tmp = press(wyn+"B"+wyn+"XB"+wyn+"XA"+wyn+"XX"); if(tmp==(int)wyn.size()){ wyn.push_back('A'); }else if(tmp==(int)wyn.size()+1){ wyn.push_back('B'); }else wyn.push_back('X'); } } if(N>1){ char lastLetter; if(firstLetter!='X'&&press(wyn+"X")==N) lastLetter = 'X'; else if(firstLetter!='Y'&&press(wyn+"Y")==N) lastLetter = 'Y'; else if(firstLetter!='A'&&press(wyn+"A")==N) lastLetter = 'A'; else if(firstLetter!='B'&&press(wyn+"B")==N) lastLetter = 'B'; wyn.push_back(lastLetter); } return wyn; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...