Submission #374531


Source Code Expand

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

const int INF = 1e+9;
const int MAX_V = 100010;

struct edge {
	int to, cap, rev;
	edge(int t, int c, int r) : to(t), cap(c), rev(r){}
};

int V;
vector<edge> G[MAX_V];
int level[MAX_V];
int iter[MAX_V];

void bfs(int s) {
	memset(level, -1, sizeof(level));
	queue<int> que;
	level[s] = 0;
	que.push(s);
	while(!que.empty()){
		int v = que.front(); 
		que.pop();
		for(int i = 0; i < G[v].size(); ++i){
			edge &e = G[v][i];
			if(e.cap > 0 && level[e.to] < 0){
				level[e.to] = level[v] + 1;
				que.push(e.to);
			}
		}
	}
}

int dfs(int v, int t, int f){
	if(v == t)
		return f;
		
	for(int &i = iter[v]; i < G[v].size(); ++i){
		edge &e = G[v][i];
		if(e.cap > 0 && level[v] < level[e.to]){
			int d = dfs(e.to, t, min(f, e.cap));
			if(d > 0){
				e.cap -= d;
				G[e.to][e.rev].cap += d;
				return d;
			}
		}
	}
	return 0;
}

int max_flow(int s, int t){
	int flow = 0;
	for(;;){
		bfs(s);
		if(level[t] < 0)
			return flow;
		memset(iter, 0, sizeof(iter));
		int f;
		while((f = dfs(s, t, INF)) > 0)
			flow += f;
	}
}

int V1;
vector<int> G1[MAX_V];
int match[MAX_V];
bool used[MAX_V];

bool dfs(int v){
	used[v] = true;
	for(int i = 0; i < G1[v].size(); ++i){
		int u = G1[v][i], w = match[u];
		if(w < 0 || !used[w] && dfs(w)){
			match[v] = u;
			match[u] = v;
			return true;
		}
	}
	return false;
}

int bipartite_matching(){
	int res = 0;
	memset(match, -1, sizeof(match));
	for(int v = 0; v < V; ++v){
		if(match[v] < 0){
			memset(used, 0, sizeof(used));
			if(dfs(v)){
				res++;
			}
		}
	}
	return res;
}

int main() {
	int a, b;
	cin >> V;
	for(int i = 0; i < V; ++i){
		scanf("%d%d", &a, &b);
		G[a].push_back(edge(b, 1, G[b].size()));
		G[b].push_back(edge(a, 1, G[a].size()));
		G1[a].push_back(b);
		G1[b].push_back(a);
	}
	for(int i = 1; i <= V; ++i){
		G1[0].push_back(i);
		//G[i].push_back(edge(V + 1, 0, G[V + 1].size()));
	}
	//V += 2;
	cout << max_flow(1, V) << " ";
	V += 1;
	cout << bipartite_matching() << endl;
	return 0;
}

Submission Info

Submission Time
Task C - 最小カットと最大カット
User probako
Language C++11 (GCC 4.9.2)
Score 0
Code Size 2123 Byte
Status WA
Exec Time 774 ms
Memory 17820 KiB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:102:24: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d", &a, &b);
                        ^

Judge Result

Set Name All
Score / Max Score 0 / 100
Status
AC × 1
WA × 14
RE × 14
Set Name Test Cases
All scrambled_00.txt, scrambled_01.txt, scrambled_02.txt, scrambled_03.txt, scrambled_04.txt, scrambled_05.txt, scrambled_06.txt, scrambled_07.txt, scrambled_08.txt, scrambled_09.txt, scrambled_10.txt, scrambled_11.txt, scrambled_12.txt, scrambled_13.txt, scrambled_14.txt, scrambled_15.txt, scrambled_16.txt, scrambled_17.txt, scrambled_18.txt, scrambled_19.txt, scrambled_20.txt, scrambled_21.txt, scrambled_22.txt, scrambled_23.txt, scrambled_24.txt, scrambled_25.txt, scrambled_26.txt, scrambled_27.txt, scrambled_28.txt
Case Name Status Exec Time Memory
scrambled_00.txt AC 35 ms 6696 KiB
scrambled_01.txt WA 36 ms 6692 KiB
scrambled_02.txt WA 35 ms 6688 KiB
scrambled_03.txt RE 772 ms 17820 KiB
scrambled_04.txt RE 774 ms 17192 KiB
scrambled_05.txt RE 581 ms 13600 KiB
scrambled_06.txt RE 466 ms 11684 KiB
scrambled_07.txt RE 768 ms 17180 KiB
scrambled_08.txt RE 439 ms 10148 KiB
scrambled_09.txt RE 464 ms 11688 KiB
scrambled_10.txt WA 713 ms 15388 KiB
scrambled_11.txt WA 297 ms 10072 KiB
scrambled_12.txt WA 573 ms 13780 KiB
scrambled_13.txt WA 534 ms 13400 KiB
scrambled_14.txt WA 595 ms 15132 KiB
scrambled_15.txt WA 413 ms 12704 KiB
scrambled_16.txt WA 215 ms 9888 KiB
scrambled_17.txt RE 500 ms 9896 KiB
scrambled_18.txt WA 490 ms 14740 KiB
scrambled_19.txt RE 335 ms 7456 KiB
scrambled_20.txt RE 599 ms 11684 KiB
scrambled_21.txt RE 456 ms 9752 KiB
scrambled_22.txt RE 631 ms 12248 KiB
scrambled_23.txt WA 234 ms 10148 KiB
scrambled_24.txt RE 465 ms 9888 KiB
scrambled_25.txt WA 276 ms 10780 KiB
scrambled_26.txt WA 223 ms 10020 KiB
scrambled_27.txt WA 345 ms 11676 KiB
scrambled_28.txt RE 537 ms 11284 KiB