제출 #1210241

#제출 시각아이디문제언어결과실행 시간메모리
1210241asli_bg콤보 (IOI18_combo)C++20
5 / 100
0 ms408 KiB
#include <bits/stdc++.h> using namespace std; #include <ext/pb_ds/assoc_container.hpp> using namespace __gnu_pbds; #include "combo.h" //#define int long long typedef pair<int,int> pii; typedef vector<int> vi; typedef vector<pii> vii; typedef vector<bool> vb; typedef long long ll; typedef pair<ll,ll> pll; typedef vector<pll> vll; typedef tree<pii,null_type,less<pii>,rb_tree_tag, tree_order_statistics_node_update> oset; #define fi first #define se second #define pb push_back #define pf push_front #define mid (l+r)/2 #define all(x) x.begin(),x.end() #define FOR(i,a) for(int i=0;i<(a);i++) #define FORE(i,a,b) for(int i=(a);i<(b);i++) #define cont(x) for(auto el:x) cout<<el<<' ';cout<<endl; #define contp(x) for(auto el:x) cout<<el.fi<<'-'<<el.se<<' ';cout<<endl; #define sp <<" "<< #define DEBUG(x) cout<<(#x) sp x<<endl #define carp(a,b) (((a%MOD)*(b%MOD))%MOD) #define topla(a,b) (((a%MOD)+(b%MOD))%MOD) const ll INF=1e18; const int MAXN=1e5+5; const int MOD=1e9+7; string guess_sequence(int n){ set<char> s; s.insert('A'); s.insert('B'); s.insert('X'); s.insert('Y'); string res=""; int deg=press("XA"); if(deg==0){ deg=press("Y"); if(deg==0) res+='B'; else res+='Y'; } else{ deg=press("X"); if(deg==0) res+='A'; else res+='X'; } s.erase(res[0]); auto it=s.begin(); char c1=*it; it++; char c2=*it; it++; char c3=*it; FORE(i,2,n){ string temp; for(auto el:s){ temp+=res; temp+=c1; temp+=el; } temp+=res; temp+=c2; deg=press(temp); if(deg==i+1){ res+=c1; } else if(deg==i){ res+=c2; } else{ res+=c3; } } string temp; temp+=res; temp+=c1; temp+=res; temp+=c2; deg=press(temp); if(deg==n-1) res+=c3; else{ temp.clear(); temp+=res; temp+=c1; deg=press(temp); if(deg==n-1) res+=c2; else res+=c1; } return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...