Submission #581276

#TimeUsernameProblemLanguageResultExecution timeMemory
581276alontanayThe Collection Game (BOI21_swaps)C++14
5 / 100
53 ms328 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>
#define f first
#define s second

using namespace std;
using pi = pair<int,int>;

vector<pi> ss;

vector<int> lc;

void _schedule(int i, int j) {
    ss.push_back({i,j});
    schedule(lc[i],lc[j]);
}

void _visit() {
    vector<int> res = visit();
    for(int i = 0; i < res.size(); i ++) {
        if(!res[i]) {
            swap(lc[ss[i].f],lc[ss[i].s]);
        }
    }
    ss.clear();
}

void solve(int N, int V) {
    lc.resize(N+1);
    for(int i = 1; i <= N; i ++) {
        lc[i] = i;
    }
    for(int i = 1; i <= N; i ++) {
        for(int j = i + 1; j <= N; j ++) {
            _schedule(i,j);
            _visit();
        }
    }
    vector<int> res(N);
    for(int i = 0; i < N; i ++) {
        res[i] = lc[i+1];
    }
    answer(res);
}

/*
g++ swaps_.cpp grader.cpp -o g.exe && g.exe
5 1000
2 1 5 3 4
1
1
*/

/*
4 1 5 3 4

*/

Compilation message (stderr)

swaps.cpp: In function 'void _visit()':
swaps.cpp:29:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |     for(int i = 0; i < res.size(); i ++) {
      |                    ~~^~~~~~~~~~~~
#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...