# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
944667 | yhkhoo | Chameleon's Love (JOI20_chameleon) | C++17 | 15 ms | 480 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;
/*
* ladies and gentlemen
* your attention please
* the fire alarm has been activated in the building
* we are investigating the situation
* please remain calm and standby for further instruction
* thank you
*
* ladies and gentlemen
* the emergency situation in the building is now under control
* we regret any inconvenience caused
* thank you
*/
void Solve(int N) {
vector<int> l(N, -1), c(N, -1);
vector<vector<int>> hm(2*N+1);
for(int i=1; i<=2*N; i++){
for(int j=1; j<=2*N; j++){
if(j==i) continue;
vector<int> s1 = {i, j};
if(Query(s1) == 1){
hm[i].push_back(j);
}
}
}
set<int> ad;
vector<vector<int>> cringe(2*N+1);
for(int i=1; i<=2*N; i++){
if(hm[i].size() == 0) continue;
if(hm[i].size() == 1){
if(ad.count(i) || ad.count(hm[i].front())) continue;
Answer(i, hm[i].front());
hm[hm[i].front()].clear();
ad.insert(i);
ad.insert(hm[i].front());
}
else{
for(int j=0; j<hm[i].size(); j++){
vector<int> s2;
for(int k=0; k<hm[i].size(); k++){
if(k==j) continue;
s2.push_back(hm[i][k]);
}
s2.push_back(i);
if(Query(s2) == 1){
cringe[hm[i][j]].push_back(i);
cringe[i].push_back(hm[i][j]);
}
}
}
}
for(int i=1; i<=2*N; i++){
if(hm[i].size() == 3){
for(int j=0; j<3; j++){
if(!count(cringe[i].begin(), cringe[i].end(), hm[i][j])){
if(ad.count(i) || ad.count(hm[i][j])) continue;
Answer(i, hm[i][j]);
ad.insert(i);
ad.insert(hm[i][j]);
// hm[hm[i][j]].clear();
}
}
}
}
}
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... |