hiho Week 34 register

Ended

Participants:146

Verdict:Accepted
Score:100 / 100
Submitted:2015-02-22 16:30:01

Lang:G++

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <cstdio>
#include <cstring>
#define MAXN 1010
int matrix[MAXN][MAXN];
int visited[MAXN];
int match[MAXN];
int color[MAXN];
int n, m;
bool find(int v) {
    if(visited[v])
        return false;
    visited[v] = 1;
    for(int u = 1; u <= n; u++)
        if(matrix[v][u] && !visited[u]) {
            visited[u] = 1;
            if(!match[u] || find(match[u])) {
                match[u] = v;
                return true;
            }
        }
    return false;
}
void dfs(int v) {
    for(int u = 1; u <= n; u++)
        if(matrix[v][u] && !color[u]) {
            color[u] = -color[v];
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX