Submission #1176336

#TimeUsernameProblemLanguageResultExecution timeMemory
1176336slivajanThousands Islands (IOI22_islands)C++20
5 / 100
19 ms4932 KiB
#include "islands.h" #include <bits/stdc++.h> using namespace std; using un = int; using vuc = vector<un>; using vol = vector<bool>; #define REP(i, a, b) for (un i = (un)a; i < (un)b; i++) #define FEAC(i, a) for (auto&& i : a) #define vec vector #define ALL(x) (x).begin(), (x).end() un N, M; vuc U, V; variant<bool, vuc> subtask1(){ un A = -1; un B = -1; un C = -1; REP(i, 0, M){ if (U[i] == 0){ if (A == -1) A = i; else if (B == -1) B = i; } else{ if (C == -1) C = i; } } if (min({A, B, C}) == -1) return false; else return vuc({A, C, B, A, C, B}); } variant<bool, vuc> find_journey(un _N, un _M, vuc _U, vuc _V) { N=_N; M=_M; U=_U; V=_V; if (N == 2) return subtask1(); vec<vuc> spoje(3, vuc(3, -1)); REP(i, 0, N){ if ((U[i] < 3) and (V[i] < 3)){ spoje[U[i]][V[i]] = i; } } bool sub2 = false; REP(i, 0, 3) REP(j, 0, 3) if (spoje[i][j] == -1) sub2 = false; if (sub2){ return vuc({spoje[0][1], spoje[1][2], spoje[2][0], spoje[0][2], spoje[2][1], spoje[1][0]}); } return false; }
#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...