제출 #1209864

#제출 시각아이디문제언어결과실행 시간메모리
1209864andrej246스핑크스 (IOI24_sphinx)C++20
10 / 100
171 ms1452 KiB
#include "sphinx.h"

#include <bits/stdc++.h>
using namespace std;

#define NL "\n"
#define EL cout << NL
#define FOR(i,n) for (long long i = 0; i < (n); i++)
#define FORS(i,s,n) for (long long i = (s); i < (n); i++)
#define FORR(i,n) for (long long i = (n)-1; i >= 0; i--)
#define PRINTV(v) for (auto a: v) {cout << a << " ";} EL;
#define PRINTVV(v) for (auto a: v) {PRINTV(a);}
#define f first
#define s second
#define all(v) (v).begin(),(v).end()

typedef vector<int> vi;
typedef long long ll;
typedef vector<ll> vl;
typedef vector<vl> vvl;
typedef pair<ll,ll> pl;
typedef vector<pl> vpl;
typedef vector<vpl> vvpl;

void dfs(ll u, vl& visited, vvl& g) {
    visited[u] = true;
    for (auto v: g[u]) {
        if (visited[v]) continue;
        dfs(v,visited,g);
    }
}

std::vector<int> find_colours(int n, std::vector<int> x, std::vector<int> y) {
    vl adj(n);
    ll m = x.size();
    vvl g(n);
    FOR(i,m) {
        adj[x[i]] = y[i];
        adj[y[i]] = x[i];
        g[x[i]].push_back(y[i]);
        g[y[i]].push_back(x[i]);
    }

    vector<int> ans(n);
    FOR(u,n) {
        ll v = adj[u];
        FOR(c,n) {
            vi e(n,n);
            e[u] = -1;
            e[v] = c;
            ll r = perform_experiment(e);
            ll target = 1;
            vl visited(n);
            visited[u] = visited[v] = 1;
            FOR(i,n) {
                if (visited[i]) continue;
                target++;
                dfs(i,visited,g);
            }
            if (r == target) {
                ans[u] = c;
                break;
            }
        }
    }

    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...