Submission #1270787

#TimeUsernameProblemLanguageResultExecution timeMemory
1270787tvgkAirline Route Map (JOI18_airline)C++20
0 / 100
718 ms65320 KiB
#include "Alicelib.h" #include <vector> using namespace std; namespace { vector<pair<int, int> > graph; } void Alice(int N, int M, int A[], int B[]) { int V = N + 12; for (int i = 0; i < M; ++i) { graph.push_back({ A[i], B[i] }); } for (int i = 0; i < 10; ++i) { for (int j = 0; j < N; ++j) { if ((j >> i) & 1) graph.push_back({ i + N, j }); } } for (int i = 0; i < 10; ++i) graph.push_back({ i + N, 10 + N }); for (int i = 1; i < 10; ++i) graph.push_back({ i - 1 + N, i + N }); for (int i = 0; i < 10 + N; ++i) graph.push_back({ i, 11 + N }); InitG(V, graph.size()); for (int i = 0; i < graph.size(); ++i) { MakeG(i, graph[i].first, graph[i].second); } }
#include "Boblib.h" #include <cassert> #include <cstdio> #include<bits/stdc++.h> using namespace std; #define task "a" #define se second #define fi first #define ll long long #define ii pair<ll, ll> const long mxN = 1e3 + 20; map<int, bool> w[mxN]; vector<int> par; bool vis[mxN]; int spe[mxN], val[mxN]; void Find(int j) { par.push_back(j); spe[j] = 1; for (ii i : w[j]) { if (spe[i.fi] == 3) Find(i.fi); } } void Bob(int n, int m, int a[], int b[]) { for (int i = 0; i < m; i++) w[a[i]][b[i]] = w[b[i]][a[i]] = 1; for (int i = 0; i < n; i++) { if (w[i].size() == n - 2) { spe[i] = 1; vis[i] = 1; for (ii j : w[i]) vis[j.fi] = 1; } } for (int i = 0; i < n; i++) { if (!vis[i]) { spe[i] = 1; for (ii j : w[i]) spe[j.fi] = 2; break; } } for (int i = 0; i < m; i++) { if (spe[a[i]] >= 2 && spe[b[i]] >= 2) spe[a[i]] = 3; } for (int i = 0; i < n; i++) { if (spe[i] == 2) Find(i); } for (int i = 0; i < n; i++) { if (spe[i]) continue; for (int j = 0; j < par.size(); j++) { if (w[par[j]][i]) val[i] += 1 << j; } } vector<ii> ans; for (int i = 0; i < m; i++) { if (spe[a[i]] || spe[b[i]]) continue; ans.push_back({val[a[i]], val[b[i]]}); } InitMap(n - 12, ans.size()); for (ii i : ans) MakeMap(i.fi, i.se); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...