Submission #1040521

#TimeUsernameProblemLanguageResultExecution timeMemory
1040521hotboy2703Chameleon's Love (JOI20_chameleon)C++17
40 / 100
2 ms600 KiB
#include "chameleon.h"

#include<bits/stdc++.h>
using ll = int;
using namespace std;
#define pll pair <ll,ll>
#define fi first
#define se second
#define MP make_pair
#define sz(a) (ll((a).size()))
#define BIT(mQuery,i) (((mQuery) >> (i))&1)
#define MQuery(i) (1LL << (i))
namespace {

int variable_example = 1;

}  // namespace
namespace MOMJOKES{
    const ll MAXN = 510;
    ll L[MAXN],R[MAXN];
    vector <ll> cand[MAXN];
}
void Solve(int n) {
    using namespace MOMJOKES;
    for (ll i = 1;i <= 2*n;i ++){
        for (ll j = i + 1;j <= 2*n;j ++){
            if (Query({i,j}) == 1){
                cand[i].push_back(j);
                cand[j].push_back(i);
            }
        }
    }
    set <pll> s;
    for (ll i = 1;i <= 2 * n;i ++){
        if (sz(cand[i]) == 3){
            for (ll j = 0;j < 3;j ++){
                vector <ll> all = {i};
                for (ll j1 = 0;j1 < 3;j1 ++){
                    if (j1 != j)all.push_back(cand[i][j1]);
                }
                if (Query(all) == 1){
                    L[i] = cand[i][j];
                    break; 
                }
            }
        }
        else{
            ll u = i,v = cand[i][0];
            if (u > v)swap(u,v);
            s.insert(MP(u,v));
        }
    }    
    for (ll i = 1;i <= 2 * n;i ++){
        if (sz(cand[i]) == 3){
            for (ll j = 0;j < 3;j ++){
                if (cand[i][j] == L[i] || L[cand[i][j]] == i)continue;
                ll u = i,v = cand[i][j];
                if (u > v)swap(u,v);
                s.insert(MP(u,v));
            }
        }
    }   
    for (auto x:s)Answer(x.fi,x.se);
}

Compilation message (stderr)

chameleon.cpp:15:5: warning: '{anonymous}::variable_example' defined but not used [-Wunused-variable]
   15 | int variable_example = 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...