제출 #1058095

#제출 시각아이디문제언어결과실행 시간메모리
1058095SalihSahinThousands Islands (IOI22_islands)C++17
5 / 100
16 ms4448 KiB
#include<bits/stdc++.h> #define pb push_back using namespace std; #include "islands.h" std::variant<bool, std::vector<int>> find_journey(int N, int M, std::vector<int> U, std::vector<int> V) { if(N == 2){ vector<int> c[2]; for(int i = 0; i < M; i++){ if(U[i] == 0) c[0].pb(i); else c[1].pb(i); } if(c[0].size() > 1 && c[1].size() > 0){ int x = c[0][0], y = c[0][1], z = c[1][0]; vector<int> ans = {x, z, y, x, z, y}; return ans; } else return false; } else return false; } /* int main() { int N, M; assert(2 == scanf("%d %d", &N, &M)); std::vector<int> U(M), V(M); for (int i = 0; i < M; ++i) { assert(2 == scanf("%d %d", &U[i], &V[i])); } std::variant<bool, std::vector<int>> result = find_journey(N, M, U, V); if (result.index() == 0) { printf("0\n"); if (std::get<bool>(result)) { printf("1\n"); } else { printf("0\n"); } } else { printf("1\n"); std::vector<int> &canoes = std::get<std::vector<int>>(result); printf("%d\n", static_cast<int>(canoes.size())); for (int i = 0; i < static_cast<int>(canoes.size()); ++i) { if (i > 0) { printf(" "); } printf("%d", canoes[i]); } printf("\n"); } 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...