Submission #1184679

#TimeUsernameProblemLanguageResultExecution timeMemory
1184679ElyesChaabouniAirline Route Map (JOI18_airline)C++20
0 / 100
40 ms11148 KiB
#include "Alicelib.h" #include <cassert> #include <cstdio> #include <bits/stdc++.h> using namespace std; static int cnt; void Alice(int N, int M, int A[], int B[]) { cnt = 0; InitG(2 * N, M + (N * (N + 1) / 2)); //1 for (int i = 0; i < M; i++) { if (A[i] < B[i]) MakeG(cnt++, A[i], B[i]); else MakeG(cnt++, B[i], A[i]); } //2 for (int i = N, tmp = 0; i < 2 * N; tmp++, i++) { //spc for (int j = N; j < i; j++) { MakeG(cnt++, i, j); } MakeG(cnt++, i, tmp); } }
#include "Boblib.h" #include <cassert> #include <cstdio> #include <bits/stdc++.h> using namespace std; static int n; static int m; static vector<set<int>> arr; static vector<bool> spc; static vector<int> occ; static map<int, int> mp; void Bob(int V, int U, int C[], int D[]) { n = V / 2; m = U - (n * (n + 1) / 2); arr.resize(V); spc.assign(V, false); occ.assign(V, 0); mp.clear(); InitMap(n, m); //arr for (int i = 0; i < U; i++) { arr[C[i]].insert(D[i]); occ[D[i]]++; } //spc n°1 for (int i = 0; i < V; ++i) { if (arr[i].size() == 1) { for (auto &elt: arr[i]) { if (occ[elt] == 1) { spc[i] = true; } } } } //spc n°2 -> n°N for (int i = 0; i < V; ++i) { for (auto &elt: arr[i]) { if (spc[elt]) { spc[i] = true; } } } //spc 2 for (int i = 0; i < V; ++i) { if (spc[i]) { int cnt = 0, x = -1; for (auto &elt: arr[i]) { if (spc[elt]) cnt++; else x = elt; } mp[x] = cnt; } } //ans for (int i = 0; i < U; i++) { if (mp.count(C[i]) && mp.count(D[i])) { MakeMap(mp[C[i]], mp[D[i]]); } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...