Submission #1148961

#TimeUsernameProblemLanguageResultExecution timeMemory
1148961weakweakweakMeetings (JOI19_meetings)C++20
0 / 100
8 ms16360 KiB
#include "meetings.h" #include <bits/stdc++.h> using namespace std; using pii = pair<int,int>; #define fs first #define sc second int n, tt = 0, infunc[8888] = {0}; vector<int> a[2010]; vector<pii> ans; void solve (int rt, vector<int> v) { tt++; for (int i : v) infunc[i] = tt; for (int i : v) { bool y = 1; for (int j : v) if (i != j and !(a[i][j] == i or a[i][j] == rt)) y = 0; if (y) { ans.push_back(make_pair(rt, i)); vector<int> v2; for (int j : v) if (i != j and a[i][j] == i) v2.push_back(j); solve(i, v2); } } } void Solve(int N) { n = N; ans.clear(); for (int i = 0; i < n; i++) a[i].resize(n+1); assert(n<350); for (int i = 1; i < n; i++) for (int j = 1; j < n; j++) { if (i == j) continue; a[i][j] = Query(0, i, j); } vector<int> v; for (int i = 1; i < n; i++) v.push_back(i); solve(0, v); for (pii p : ans) Bridge(p.fs, p.sc); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...