//
// --- 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 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... |
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |