제출 #423924

#제출 시각아이디문제언어결과실행 시간메모리
423924errorgorn카멜레온의 사랑 (JOI20_chameleon)C++17
40 / 100
21 ms336 KiB
#include "chameleon.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define ii pair<ll,ll> #define fi first #define se second #define endl '\n' #define puf push_front #define pof pop_front #define pub push_back #define pob pop_back #define rep(x,s,e) for (auto x=s-(s>e);x!=e-(s>e);s<e?x++:x--) #define all(x) (x).begin(),(x).end() #define sz(x) (int) (x).size() mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); int n; vector<int> same[1005]; int nxt[1005]; void Solve(int N) { n=N; rep(x,1,2*n+1){ rep(y,x+1,2*n+1) if (Query({x,y})==1){ same[x].pub(y); same[y].pub(x); } } memset(nxt,-1,sizeof(nxt)); rep(x,1,2*n+1) if (sz(same[x])==3){ if (Query({x,same[x][0],same[x][1]})==1){ nxt[x]=same[x][2]; } if (Query({x,same[x][0],same[x][2]})==1){ nxt[x]=same[x][1]; } if (Query({x,same[x][1],same[x][2]})==1){ nxt[x]=same[x][0]; } } rep(x,1,2*n+1){ if (sz(same[x])==1){ //cout<<x<<" "<<same[x][0]<<endl; if (x<same[x][0]) Answer(x,same[x][0]); } else{ for (auto &it:same[x]) if (nxt[it]!=x && nxt[x]!=it){ //cout<<x<<" "<<it<<endl; if (x<it) Answer(x,it); } } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...