Submission #825707

#TimeUsernameProblemLanguageResultExecution timeMemory
825707PixelCatThousands Islands (IOI22_islands)C++17
10 / 100
25 ms4388 KiB
#include "islands.h" #ifdef NYAOWO #include "grader.cpp" #endif #include <bits/stdc++.h> #define For(i, a, b) for(int i = a; i <= b; i++) #define Forr(i, a, b) for(int i = a; i >= b; i--) #define F first #define S second #define all(x) x.begin(), x.end() #define sz(x) ((int)x.size()) #define eb emplace_back // #define int LL using namespace std; using i32 = int32_t; using LL = long long; using pii = pair<int, int>; vector<int> link(vector<int> v, vector<int> o, bool rev = false) { if(rev) reverse(all(o)); v.insert(v.end(), all(o)); return v; } vector<int> solve_bidir_loop(int n, vector<int> cy, vector<int> yc) { vector<int> res; res = link(res, cy); res = link(res, yc, true); res = link(res, cy, true); res = link(res, yc); return res; } variant<bool, vector<int>> find_journey(int N, int M, vector<int> U, vector<int> V) { // if (N == 4) { // return vector<int>({0, 1, 2, 4, 0, 3, 2, 1, 4, 3}); // } // return false; if(N == 2) { vector<int> e0, e1; For(i, 0, M - 1) { if(U[i] == 0) e0.eb(i); else e1.eb(i); } if(sz(e0) >= 2 && sz(e1) >= 1) { int a = e0[0], b = e0[1]; int c = e1[0]; return vector<int>({b, c, a, b, c, a}); } return false; } int id[3][3] = {-1}; For(i, 0, M - 1) { int x = U[i]; int y = V[i]; if(x < 3 && y < 3) { id[x][y] = i; } } vector<int> res = solve_bidir_loop(3, {id[0][1], id[1][2], id[2][0]}, {id[1][0], id[2][1], id[0][2]}); return res; } /* 4 5 0 1 1 2 2 3 0 3 3 1 1 10 0 1 2 4 0 3 2 1 4 3 2 3 0 1 1 0 1 0 0 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...