이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
/******************************************************************************
Online C++ Compiler.
Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.
*******************************************************************************/
#include "combo.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
// int press(string s){
// if(s.length()==1){
// if(s=="A"||s=="B") return 1;
// }
// if(s == "ABA") return 3;
// return 0;
// }
string guess_sequence(int n){
vector<char> av;
for(ll i=0;i<26;i++){
char x = ('A'+i);
string tmp = "";;
tmp += x;
if(press(tmp)==1){
av.push_back(x);
}
}
string ans = "";
if(av.size()==1){
string f = "";
for(ll i=0;i<3;i++){
f+=av[0];
}
ans = f;
}else if(av.size()==2){
string f1 = "",f2 = "";
f1 += av[0];
f1 += av[0];
f1 += av[1];
f2 += av[0];
f2 += av[1];
f2 += av[1];
sort(f1.begin(),f1.end());
sort(f2.begin(),f2.end());
do{
if(press(f1)==3){
ans = f1;
}
}while(next_permutation(f1.begin(),f1.end()));
do{
if(press(f2)==3){
ans = f2;
}
}while(next_permutation(f2.begin(),f2.end()));
}
else{
string f1 = "";
f1 += av[0];
f1 += av[1];
f1 += av[2];
sort(f1.begin(),f1.end());
do{
if(press(f1)==3){
ans = f1;
}
}while(next_permutation(f1.begin(),f1.end()));
}
return ans;
}
// int main()
// {
// cout<<guess_sequence(3);
// return 0;
// }
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |