Submission #823957

#TimeUsernameProblemLanguageResultExecution timeMemory
823957KahouMeetings (JOI19_meetings)C++14
0 / 100
1719 ms1092 KiB
#include<bits/stdc++.h>
#include"meetings.h"
using namespace std;
#define F first
#define S second
#define endl '\n'
#define mk make_pair
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;

const int MAXN = 2050;
int n, sub[MAXN];
bool mark[MAXN][MAXN];

void Solve(int N) {
        n = N;
        sub[0] = n-1;
        for (int u = 1; u < n; u++) {
                mark[0][u] = 1;
        }
        for (int u = 1; u < n; u++) {
                for (int v = u+1; v < n; v++) {
                        int lca = Query(0, u, v);
                        if (lca == u) {
                                mark[u][v] = 1;
                                sub[u]++;
                        }
                        else if (lca == v) {
                                mark[v][u] = 1;
                                sub[v]++;
                        }
                }
        }
        for (int u = 1; u < n; u++) {
                int par = 0;
                for (int v = 0; v < n; v++) {
                        if (mark[v][u] && sub[v] < sub[par]) par = v;
                }
                Bridge(par, u);
        }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...