# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1162230 | gustavo_d | Teams (IOI15_teams) | C++20 | 19 ms | 4420 KiB |
#include "teams.h"
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 100;
int n;
int l[MAXN], r[MAXN];
void init(int N, int a[], int b[]) {
n = N;
for (int i=0; i<n; i++) {
l[i] = a[i]; r[i] = b[i];
}
}
set<int> adjA[MAXN], adjB[MAXN];
set<int> matchB[MAXN];
int matchA[MAXN];
bool visA[MAXN];
bool dfs(int j) {
for (int i : adjB[j]) {
if (visA[i]) continue;
visA[i] = true;
if (matchA[i] != -1) {
if (dfs(matchA[i])) {
adjA[i].insert(matchA[i]);
adjB[matchA[i]].insert(i);
matchB[matchA[i]].erase(i);
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |