Submission #108810

#TimeUsernameProblemLanguageResultExecution timeMemory
108810tictaccatAirline Route Map (JOI18_airline)C++14
0 / 100
619 ms127296 KiB
#include "Alicelib.h" #include <cassert> #include <cstdio> #include <bits/stdc++.h> using namespace std; void Alice( int N, int M, int At[], int Bt[] ){ vector<vector<int>> adj(4*N*N + 10*N); for (int i = 0; i < M; i++) { adj[At[i]].push_back(Bt[i]); adj[Bt[i]].push_back(At[i]); } int c = N; int e = M; for (int i = 0; i < N; i++) { for (int j = 0; j <= i; j++) { adj[c].push_back(i); adj[i].push_back(c); e++; c++; } } c += 20; for (int i = N; i < c; i++) { adj[c].push_back(i); adj[i].push_back(c); e++; } InitG(c+1, e); int k = 0; for (int i = 0; i <= c; i++) { for (int j: adj[i]) { if (j < i) continue; MakeG(k++,i,j); } } }
#include "Boblib.h" #include <cassert> #include <cstdio> #include <bits/stdc++.h> using namespace std; void Bob( int V, int U, int C[], int D[] ){ vector<vector<int>> adj(V); for (int i = 0; i < U; i++) { adj[C[i]].push_back(D[i]); adj[D[i]].push_back(C[i]); } int spec = max_element(adj.begin(),adj.end(),[](vector<int> &a, vector<int> &b){return a.size() < b.size();}) - adj.begin(); vector<bool> special(V,false); for (int i: adj[spec]) { special[i] = true; } vector<int> actual(V,-1); int N = 0; for (int i = 0; i < V; i++) { if (i == spec) continue; int c = 0; for (int j: adj[i]) { if (special[j]) c++; } if (c > 0) { actual[i] = c-1; N++; } } // cout << N << "\n"; vector<pair<int,int>> el; for (int i = 0; i < U; i++) { if (actual[C[i]] != -1 && actual[D[i]] != -1) { el.push_back(make_pair(actual[C[i]],actual[D[i]])); } } InitMap(N,el.size()); for (auto p: el) { MakeMap(p.first,p.second); } // InitMap( 3, 2 ); // MakeMap( 1, 2 ); // MakeMap( 1, 3 ); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...