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<bits/stdc++.h>
using namespace std;
int n = 0;
vector<int> p;
bool caso(int a, int b, int c = -1, int d = -1){
if(c == -1) return p[0] == a && p[1] == b;
if(d == -1) return p[0] == a && p[1] == b && p[2] == c;
return p[0] == a && p[1] == b && p[2] == c && p[3] == d;
}
long long minimum_walk(vector<int> _p, int s) {
p = _p;
n = p.size();
if(n == 1) return 0;
if(n == 2){
if(caso(0, 1)) return 0;
if(caso(1, 0)) return 2;
}
if(n == 3){
if(caso(0, 1, 2)) return 0;
if(caso(0, 2, 1)) return 4;
if(caso(1, 0, 2)) return 2;
if(caso(1, 2, 0)) return 4;
if(caso(2, 0, 1)) return 4;
if(caso(2, 1, 0)) return 4;
}
if(n == 4){
if(caso(0, 1, 2, 3)) return 0;
if(caso(0, 1, 3, 2)) return 6;
if(caso(0, 2, 1, 3)) return 4;
if(caso(0, 2, 3, 1)) return 6;
if(caso(0, 3, 1, 2)) return 6;
if(caso(0, 3, 2, 1)) return 6;
if(caso(1, 0, 2, 3)) return 2;
if(caso(1, 0, 3, 2)) return 6;
if(caso(1, 2, 0, 3)) return 4;
if(caso(1, 2, 3, 0)) return 6;
if(caso(1, 3, 0, 2)) return 6;
if(caso(1, 3, 2, 0)) return 6;
if(caso(2, 0, 1, 3)) return 4;
if(caso(2, 0, 3, 1)) return 6;
if(caso(2, 1, 0, 3)) return 4;
if(caso(2, 1, 3, 0)) return 6;
if(caso(2, 3, 0, 1)) return 8;
if(caso(2, 3, 1, 0)) return 8;
if(caso(3, 0, 1, 2)) return 6;
if(caso(3, 0, 2, 1)) return 6;
if(caso(3, 1, 0, 2)) return 6;
if(caso(3, 1, 2, 0)) return 6;
if(caso(3, 2, 0, 1)) return 8;
if(caso(3, 2, 1, 0)) return 8;
}
}
Compilation message (stderr)
books.cpp: In function 'long long int minimum_walk(std::vector<int>, int)':
books.cpp:59:1: warning: control reaches end of non-void function [-Wreturn-type]
59 | }
| ^
# | 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... |