Submission #1193813

#TimeUsernameProblemLanguageResultExecution timeMemory
1193813elotelo966콤보 (IOI18_combo)C++20
100 / 100
7 ms484 KiB
#include <bits/stdc++.h> #include "combo.h" using namespace std; //#define int long long #define OYY LLONG_MAX #define faster ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); #define fi first #define se second #define FOR for(int i=1;i<=n;i++) #define mid (start+end)/2 #define pb push_back #define lim 400005 const int mod=1000000007; char dizi[4]={'A','B','X','Y'}; //~ inline int press(string s){ //~ cout<<s<<endl; //~ int x;cin>>x; //~ return x; //~ } std::string guess_sequence(int N) { int n=N; string cev=""; if(press("AB")){ if(press("A"))cev+='A'; else{ cev+='B'; swap(dizi[0],dizi[1]); } } else{ if(press("X")){ cev+='X'; swap(dizi[0],dizi[2]); } else{ cev+='Y'; swap(dizi[0],dizi[3]); } } if(n==1){ return cev; } for(int i=2;i<=n-1;i++){ string sor=""; for(int j=1;j<=3;j++){ sor+=cev; sor+=dizi[1]; sor+=dizi[j]; } sor+=cev; sor+=dizi[2]; int tut=press(sor); if(tut==i+1){ cev+=dizi[1]; } else if(tut==i){ cev+=dizi[2]; } else{ cev+=dizi[3]; } } if(press(cev+dizi[1]+cev+dizi[2])==n){ if(press(cev+dizi[1])==n){ return cev+dizi[1]; } return cev+dizi[2]; } else{ return cev+dizi[3]; } } //~ int32_t main(){ //~ faster //~ int n;cin>>n; //~ cout<<guess_sequence(n)<<'\n'; //~ return 0; //~ }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...