Submission #434747

#TimeUsernameProblemLanguageResultExecution timeMemory
434747MonchitoAncient Books (IOI17_books)C++14
12 / 100
1 ms332 KiB
#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 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...