Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
BMATCH - Bộ ghép cực đại trên đồ thị hai phía |
Cho đồ thị hai phía G = (X U Y, E). Các đỉnh của X ký hiệu là x1, x2, …, xp; các đỉnh của Y ký hiệu là y1, y2, …, yq.
Một bộ ghép trên G là một tập các cạnh của E đôi một không có đỉnh chung.
Bài toán: Hãy tìm một bộ ghép cực đại (bộ ghép có nhiều cạnh nhất) trên G.
Dữ liệu vào:
- Dòng đầu ghi ba số nguyên dương p, q, n là số đỉnh của X, số đỉnh của Y và số cạnh của G.
- n dòng tiếp theo, mỗi dòng chứa hai số u, v cho biết một cạnh (xu, yv) thuộc E.
Dữ liệu ra:
- Dòng đầu ghi một số nguyên m là số cạnh của bộ ghép.
- m dòng tiếp theo, mỗi dòng ghi hai số nguyên u, v là một cạnh (xu, yv) của bộ ghép.
Ví dụ:
Dữ liệu vào:
3 3 5
1 1
1 3
2 1
2 2
3 2
Dữ liệu ra:
3
1 3
2 1
3 2
Giới hạn: 1 ≤ p, q ≤ 1000; n ≤ 1000000.
Được gửi lên bởi: | noname00.pas |
Ngày: | 2017-11-01 |
Thời gian chạy: | 0.100s-1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | C-CLANG C CSHARP C++ 4.3.2 CPP CPP14 CPP14-CLANG C99 JAVA PAS-FPC PYTHON PYTHON3 |
Nguồn bài: | Bài tập thực hành CSL |