제출 #1217321

#제출 시각아이디문제언어결과실행 시간메모리
1217321LolkasMeepThe Collection Game (BOI21_swaps)C++20
50 / 100
218 ms424 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"
using namespace std;
typedef long long int ll;

vector<pair<int,int>> scheds;

void helpme(int i, int j, int a, int b){
    schedule(i, j);
    scheds.push_back({a,b});
}

void solve(int N, int V) {
    vector<int> pos(N);
    iota(pos.begin(), pos.end(), 1);

    bool sorted = false;
    bool state = false;
    for(int j = 0; j < V; j++){
        scheds.clear();
        if(state){
            for(int i = 1; i < N; i+=2) helpme(pos[i-1],pos[i],i-1,i);
        }else{
            for(int i = 2; i < N; i+=2) helpme(pos[i-1],pos[i],i-1,i);
            if(N%2==0) helpme(pos[0],pos[N-1],0,N-1);   
        }
        vector<int> visits = visit();
        for(int i = 0; i < visits.size(); i++){
            if(!visits[i]) swap(pos[scheds[i].first], pos[scheds[i].second]);
        }

        state = !state;
    }

    answer(pos);

}
#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...