Submission #1273503

#TimeUsernameProblemLanguageResultExecution timeMemory
1273503KindaGoodGamesThe Collection Game (BOI21_swaps)C++20
0 / 100
1 ms332 KiB
//
// --- Sample implementation for the task swaps ---
//
// To compile this program with the sample grader, place:
//     swaps.h swaps_sample.cpp sample_grader.cpp
// in a single folder and run:
//     g++ swaps_sample.cpp sample_grader.cpp
// in this folder.
//
#include "swaps.h"
#include<bits/stdc++.h>

using namespace std;
#define pii pair<int,int>

void solve(int n, int V) {
    vector<vector<int>> adj(n);
    vector<int> in(n);

    int on = n - (n%2);
    
    for(int k = 1; k < on; k++){
        vector<pii> comps;
        set<int> occ;
        for(int i = 0; i < on; i++){
            int oth = ((i+k)%on);
            if(occ.count(i) || occ.count(oth)) continue;
            schedule(i+1, oth+1);
            occ.insert(i);
            occ.insert(oth);
            comps.push_back({i,oth});
        }
        vector<int> r = visit();
        for(int i = 0; i < r.size(); i++){ 
            if(r[i] == 1){ 
                in[comps[i].second]++;
            }else{ 
                in[comps[i].first]++;
            }
        }
    }

    if(n % 2 == 1){
        for(int i = 0; i < n-1; i++){
            schedule(i+1, n);
            auto r = visit();
            if(r[0]){
                in[n-1]++;
            }else{
                in[i]++;
            }
        }
    }

    queue<int> q;
    
    vector<int> ans(n);
    for(int i = 0; i < n; i++){
        ans[in[i]] = i+1;
    }
    answer(ans);
}
#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...
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...