This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "books.h"
#include <iostream>
using namespace std;
using ll = long long;
vector<pair<vector<int>, int>> x[4];
void calc() {
//n = 1, s=0
x[0].push_back( { { 0 } , 0 } );
//n = 2, s=0
x[1].push_back( { { 0, 1 } , 0 } );
x[1].push_back( { { 1, 0 } , 2 } );
//n = 3, s=0
x[2].push_back( { { 0, 1, 2 } , 0 } );
x[2].push_back( { { 0, 2, 1 } , 4 } );
x[2].push_back( { { 1, 0, 2 } , 2 } );
x[2].push_back( { { 2, 1, 0 } , 4 } );
x[2].push_back( { { 2, 0, 1 } , 4 } );
x[2].push_back( { { 1, 2, 0 } , 4 } );
//n = 4, s=0
x[3].push_back( { { 0, 1, 2, 3 } , 0 } );
x[3].push_back( { { 1, 0, 2, 3 } , 2 } );
x[3].push_back( { { 0, 1, 3, 2 } , 6 } );
x[3].push_back( { { 1, 0, 3, 2 } , 8 } );
x[3].push_back( { { 0, 2, 1, 3 } , 4 } );
x[3].push_back( { { 3, 2, 1, 0 } , 8 } );
x[3].push_back( { { 3, 1, 2, 0 } , 6 } );
x[3].push_back( { { 2, 1, 0, 3 } , 4 } );
x[3].push_back( { { 2, 3, 0, 1 } , 8 } );
x[3].push_back( { { 0, 2, 3, 1 } , 6 } );
x[3].push_back( { { 1, 2, 3, 0 } , 6 } );
x[3].push_back( { { 1, 3, 2, 0 } , 6 } );
x[3].push_back( { { 0, 3, 2, 1 } , 6 } );
x[3].push_back( { { 1, 3, 0, 2 } , 6 } );
x[3].push_back( { { 2, 3, 1, 0 } , 8 } );
x[3].push_back( { { 0, 3, 1, 2 } , 6 } );
x[3].push_back( { { 3, 2, 0, 1 } , 8 } );
x[3].push_back( { { 2, 1, 3, 0 } , 6 } );
x[3].push_back( { { 3, 1, 0, 2 } , 6 } );
x[3].push_back( { { 1, 2, 0, 3 } , 4 } );
x[3].push_back( { { 2, 0, 1, 3 } , 4 } );
x[3].push_back( { { 2, 0, 3, 1 } , 6 } );
x[3].push_back( { { 3, 0, 1, 2 } , 6 } );
x[3].push_back( { { 3, 0, 2, 1 } , 6 } );
}
ll minimum_walk(vector<int> p, int s) {
calc();
int n = (int)p.size();
for(int i=0; i<(int)x[n-1].size(); i++) {
bool can = true;
for(int j=0; j<n; j++) {
if(x[n-1][i].first[j] != p[j]) can = false;
}
if(can) return x[n-1][i].second;
}
return 0;
}
# | 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... |