trang chủ / bài tập / formteam

Chia Đội

Đề bài

Mô tả

n học sinh muốn chia thành hai đội để chơi bóng đá. Hai đội phải có số người bằng nhau.

Trong nhóm học sinh này có những cặp "kẻ thù không đội trời chung". Mỗi học sinh có nhiều nhất hai kẻ thù. Quan hệ thù địch là đối xứng: nếu học sinh A là kẻ thù của B thì B cũng là kẻ thù của A.

Khi chia đội, hai kẻ thù không được ở chung một đội. Nếu không thể chia thỏa mãn điều kiện trên, một số học sinh sẽ phải ngồi ngoài (ngồi dự bị).

Hãy xác định số học sinh ít nhất phải cho ngồi dự bị để có thể tạo thành hai đội như mô tả và bắt đầu trận đấu.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm — số học sinh và số cặp kẻ thù.
  • m dòng tiếp theo, mỗi dòng chứa hai số nguyên aibi — chỉ số của hai học sinh là kẻ thù của nhau. Mỗi cặp kẻ thù xuất hiện đúng một lần trong danh sách.

Dữ liệu ra

In ra một số nguyên duy nhất — số học sinh ít nhất phải cho ngồi dự bị.

Ràng buộc

  • 2n100, 1m100
  • 1ai,bin, aibi
  • Mỗi học sinh có không quá hai kẻ thù.

Ví dụ

Input Output Giải thích
5 4
1 2
2 4
5 3
1 4
1 Các học sinh 1, 2, 4 tạo thành một vòng (1-2-4-1) gồm 3 người. Vòng lẻ này không thể chia làm hai phía nên phải có một người ngồi ngoài. Sau khi loại một người, còn lại 4 người chia đều hai đội mỗi đội 2 người.
6 2
1 4
3 4
0 Quan hệ thù địch tạo thành một đường 1-4-3. Có thể xếp thành đội {1, 3, ...} và {4, ...}; tổng 6 người chia đều, không ai phải ngồi ngoài.
6 6
1 2
2 3
3 1
4 5
5 6
6 4
2 Hai vòng tam giác (1-2-3) và (4-5-6), mỗi vòng lẻ buộc loại một người. Sau khi loại 2 người, còn 4 người chia đều hai đội.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0