Submission #944998

#TimeUsernameProblemLanguageResultExecution timeMemory
944998itslqChameleon's Love (JOI20_chameleon)C++17
40 / 100
15 ms572 KiB
#include "chameleon.h" #include <bits/stdc++.h> using namespace std; void answer(int a, int b) { Answer(++a, ++b); } vector<int> without(int a, int b, int N) { vector<int> ans; ++a; ++b; for (int i = 1; i <= 2 * N; i++) { if (i != a && i != b) { ans.push_back(i); } } return ans; } void Solve(int N) { vector<bool> done(2 * N); vector<vector<int>> crit(2 * N); for (int i = 0; i < 2 * N; i++) { for (int j = 0; j < i; j++) { if (Query(vector<int>{i + 1, j + 1}) == 1) { crit[i].push_back(j); crit[j].push_back(i); } } } for (int i = 0; i < 2 * N; i++) { if (done[i]) continue; for (int j = 0; j < (signed) crit[i].size(); j++) { if (done[crit[i][j]]) continue; if (N > 50) { answer(i, crit[i][0]); done[crit[i][0]] = 1; done[i] = 1; break; } if (Query(without(i, crit[i][j], N)) <= N - 1) { answer(i, crit[i][j]); done[crit[i][j]] = 1; done[i] = 1; } } } }
#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...