# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1021648 | 12345678 | Chameleon's Love (JOI20_chameleon) | C++17 | 15 ms | 600 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>
using namespace std;
const int nx=1e3+5;
int vs[nx], v[nx][nx];
vector<int> d[nx];
void Solve(int N) {
for (int i=1; i<=2*N; i++) for (int j=1; j<i; j++) if (Query(vector<int> {i, j})==1) d[i].push_back(j), d[j].push_back(i);
for (int i=1; i<=2*N; i++)
{
if (vs[i]) continue;
if (d[i].size()==1)
{
Answer(i, d[i][0]);
vs[i]=vs[d[i][0]]=1;
continue;
}
bool f=0;
for (int j=0; j<2; j++)
{
vector<int> qrs;
qrs.push_back(i);
for (int k=0; k<3; k++) if (k!=j) qrs.push_back(d[i][k]);
if (Query(qrs)==1)
{
f=1;
v[i][d[i][j]]=v[d[i][j]][i]=1;
break;
}
}
if (!f) v[i][d[i][2]]=v[d[i][2]][i]=1;
}
for (int i=1; i<=2*N; i++)
{
if (vs[i]) continue;
int cnt=0;
for (int j=0; j<3; j++) if (!v[i][d[i][j]]) cnt++;
if (cnt>1) cout<<1/0;
for (int j=0; j<3; j++) if (!vs[i]&&!vs[d[i][j]]&&!v[i][d[i][j]]) vs[i]=vs[d[i][j]]=1, Answer(i, d[i][j]);
}
}
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... |