# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
157790 | imyujin | Izlet (COI19_izlet) | C++17 | 931 ms | 74812 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef pair<int, int> pii;
const int MAXN = 3010;
int A[MAXN][MAXN];
bool chk[MAXN];
int cnt[MAXN];
int ans[MAXN], cn;
vector<int> ed[MAXN];
int uni[MAXN];
vector<pii> edges;
int guni(int x) { return uni[x] ? uni[x] = guni(uni[x]) : x; }
void unite(int x, int y) { uni[guni(y)] = guni(x); }
int dfs(int v, int x, int p, int k) {
//printf("dfs(v = %d, x = %d, p = %d, k = %d)\n", v, x, p, k);
if(++cnt[ans[x]] == 1) k++;
//printf("k = %d\n", k);
if(A[v][x] < k) {
cnt[ans[x]]--;
return ans[x];
}
for(auto a : ed[x]) if(a != p) {
int t = dfs(v, a, x, k);
if(t) {
cnt[ans[x]]--;
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |