# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
212782 | username | Chameleon's Love (JOI20_chameleon) | C++14 | 26 ms | 384 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "chameleon.h"
//
#include<bits/stdc++.h>
#define REP(i,j,k) for(int i=(j);i<(k);++i)
#define pb push_back
using namespace std;
void Solve(int n){
const int maxm=1009;
vector<int>g[maxm];
int m,mch[maxm];
m=n<<1;
REP(i,0,m){
REP(j,0,i){
int x=Query({i+1,j+1});
if(x==1)g[i].pb(j),g[j].pb(i);
}
}
memset(mch,-1,sizeof mch);
REP(u,0,m){
REP(i,0,g[u].size()){
int v=g[u][i];
if(mch[u]>=0||mch[v]>=0)continue;
if(g[u].size()==1||g[v].size()==1){
mch[u]=v,mch[v]=u;
continue;
}
REP(j,0,g[u].size()){
int nv=g[u][j];
if(nv==v)continue;
REP(k,0,g[v].size()){
int nu=g[v][k];
if(nu==u)continue;
if(Query({u+1,v+1,nv+1})==1&&Query({u+1,nu+1,v+1})==1){
mch[u]=v,mch[v]=u;
goto fin;
}
}
}
fin:;
}
}
REP(i,0,m)if(mch[i]<i)Answer(mch[i]+1,i+1);
}
//
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |