Submission #749740

#TimeUsernameProblemLanguageResultExecution timeMemory
749740MilosMilutinovic수천개의 섬 (IOI22_islands)C++17
10 / 100
34 ms7740 KiB
#include "islands.h" #include <bits/stdc++.h> using namespace std; const int N = 1e5 + 10; vector < pair <int, int> > g[N]; int conn[500][500]; variant<bool, vector<int>> find_journey(int N, int M, vector<int> U, vector<int> V) { for (int i = 0; i < M; i++) { g[U[i]].emplace_back(V[i], i); } if (N == 2) { if (g[0].size() >= 2 && g[1].size() >= 1) { vector <int> ans; ans.push_back(g[0][0].second); ans.push_back(g[1][0].second); ans.push_back(g[0][1].second); ans.push_back(g[0][0].second); ans.push_back(g[1][0].second); ans.push_back(g[0][1].second); return ans; } else return false; } if (N <= 400) { for (int i = 0; i < N; i++) for (int j = 0; j < N; j++) conn[i][j] = -1; for (int i = 0; i < M; i++) conn[U[i]][V[i]] = i; bool sub2 = true; for (int i = 0; i < 3; i++) for (int j = 0; j < 3; j++) if (i != j && conn[i][j] == -1) sub2 = false; if (sub2) { vector <int> ans; ans.push_back(conn[0][1]); ans.push_back(conn[1][2]); ans.push_back(conn[2][0]); ans.push_back(conn[0][2]); ans.push_back(conn[2][1]); ans.push_back(conn[1][0]); ans.push_back(conn[2][0]); ans.push_back(conn[1][2]); ans.push_back(conn[0][1]); ans.push_back(conn[1][0]); ans.push_back(conn[2][1]); ans.push_back(conn[0][2]); return ans; } } return false; if (N == 4) { return vector<int>({0, 1, 2, 4, 0, 3, 2, 1, 4, 3}); } 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...