Submission #1184261

#TimeUsernameProblemLanguageResultExecution timeMemory
1184261Ahmed_Kaaniche항공 노선도 (JOI18_airline)C++17
0 / 100
41 ms11272 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(3 * N, M + (N * N) + (N * (N + 3) / 2)); //1 for (int i = 0; i < M; i++) { MakeG(cnt, A[i], B[i]); cnt++;// M } //2 for (int i = N; i < 2 * N; i++) { for (int j = 0; j < N; j++) { MakeG(cnt, i, j); cnt++;// M + N*N } } //3 for (int i = 2 * N, tmp = 0; i < 3 * N; tmp++, i++) { //spc for (int j = N; j <= N + tmp; j++) { MakeG(cnt, i, j); cnt++; } //e MakeG(cnt, i, tmp); cnt++; } }
#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 multiset<set<int>> s; map<int, int> mp; void Bob(int V, int U, int C[], int D[]) { n = V / 3; m = U - (n * n) - (n * (n + 3) / 2); arr.resize(V); spc.assign(V, false); s.clear(); mp.clear(); InitMap(n, m); //arr for (int i = 0; i < U; i++) { arr[C[i]].insert(D[i]); } //s for (int i = 0; i < V; i++) { if (arr[i].size() == n) s.insert(arr[i]); } //spc 1 for (int i = 0; i < V; i++) { if (arr[i].size() == n && s.count(arr[i]) == n) spc[i] = true; } //spc 2 for (int i = 0; i < V; i++) { if (!spc[i]) { int nb_spc = 0, x = -1; for (auto &elt: arr[i]) { if (spc[elt]) nb_spc++; else x = elt; } //is spc 2 ? if (nb_spc > 0) { mp[x] = nb_spc - 1; spc[i] = true; } } } 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...