Submission #1365832

#TimeUsernameProblemLanguageResultExecution timeMemory
1365832enzyThe Collection Game (BOI21_swaps)C++20
35 / 100
18 ms632 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<bits/stdc++.h>
#include "swaps.h"
#define pii pair<int,int>
#define fi first
#define se second
using namespace std;

void solve(int n, int Q){
    vector<int>v[n];
    for(int i=1;i<=n;i++) v[0].push_back(i);
    while(true){
        vector<pair<int,pii>>ask;
        for(int i=0;i<n;i++){
            while(v[i].size()>1){
                int a=v[i].back(); v[i].pop_back();
                int b=v[i].back(); v[i].pop_back();
                ask.push_back({i,{a,b}});
                schedule(a,b);
            }
        }
        if(ask.empty()) break;
        vector<int>at=visit();
        for(int i=0;i<at.size();i++){
            if(at[i]){
                v[ask[i].fi].push_back(ask[i].se.fi);
                v[ask[i].fi+1].push_back(ask[i].se.se);
            }else{
                v[ask[i].fi].push_back(ask[i].se.se);
                v[ask[i].fi+1].push_back(ask[i].se.fi);
            }
        }
    }
    vector<int>resp;
    for(int i=0;i<n;i++) resp.push_back(v[i][0]);
    answer(resp);
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...