Submission #1213228

#TimeUsernameProblemLanguageResultExecution timeMemory
1213228og_matveychick1Airline Route Map (JOI18_airline)C++20
37 / 100
49 ms15360 KiB
#include "Alicelib.h"
#include <cassert>
#include <cstdio>
#include "bits/stdc++.h"

using namespace std;

static const int N = 120;

static int n, m, cnt[N];
static vector<pair<int, int>> e;


void Alice(int _n, int _m, int A[], int B[]) {
    n = _n, m = _m;
    for (int i = 0; i < m; i++) {
        int u = A[i], v = B[i];
        cnt[u]++, cnt[v]++;
        e.push_back({u, v});
    }
    for (int i = 0; i < n; i++) {
        int it = 40;
        while (cnt[i] < 41 + i) e.push_back({i, it++}), cnt[i]++;
    }
    InitG(N, e.size());
    int it = 0;
    for (auto [u, v]: e) MakeG(it++, u, v);
}

#include "Boblib.h"
#include <cassert>
#include <cstdio>
#include "bits/stdc++.h"

using namespace std;

static const int N = 120;

static int n, m, cnt[N], p[N];
static vector<int> g[N];
static vector<pair<int, int>> e;


void Bob(int V, int U, int C[], int D[]) {
    memset(p, -1, sizeof p);
    n = V, m = U;
    for (int i = 0; i < m; i++) {
        int u = C[i], v = D[i];
        cnt[u]++;
        cnt[v]++;
        g[u].push_back(v);
        g[v].push_back(u);
    }
    int mx = 0;
    for (int i = 0; i < n; i++) if (cnt[i] > 40) p[i] = cnt[i] - 41, mx = max(mx, p[i] + 1);
    for (int i = 0; i < n; i++) {
        if (p[i] == -1) continue;
        for (auto x: g[i]) {
            if (p[x] == -1) continue;
            if (p[x] < p[i]) continue;
            e.push_back({p[i], p[x]});
        }
    }
    InitMap(mx, e.size());
    for (auto [u, v]: e) MakeMap(u, v);
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...