trang chủ / đề bài / thhv19_cpt_11_c

Tập con

Đề bài

Mô tả

Trên đường đi dã ngoại, Alice đố Bob một bài toán như sau:

Cho một tập hợp S gồm các số nguyên từ 1 đến n, và cho m cặp số Ai và Bi (Ai≠Bi). Hãy tìm số nguyên k nhỏ nhất sao cho mọi tập con có đúng k phần tử của S phải chứa ít nhất một trong m cặp số đã cho, hay nói cách khác, mọi tập con có k phần tử của S phải chứa cả hai số Ai và Bi của ít nhất một cặp i nào đó.

Hãy giải quyết bài toán trên cùng Bob nhé.

Yêu cầu: Tìm số nguyên k nhỏ nhất thỏa mãn điều kiện trên.

Dữ liệu vào

  • Dòng đầu tiên gồm hai số nguyên n,m.
  • m dòng tiếp theo, mỗi dòng gồm 2 số nguyên Ai và Bi (1≤Ai,Bi≤n, Ai≠Bi). Các cặp có thể lặp lại.

Dữ liệu ra

Gồm 1 dòng duy nhất là kết quả bài toán.

Ràng buộc

  • 2≤n≤80, 1≤m≤100.
  • Gọi x là số cặp chỉ số (i,j) với 1≤i,j≤m, i≠j sao cho Ai=Bj. Mỗi test thỏa mãn ràng buộc của ít nhất một subtask dưới đây.

Subtasks

  • Subtask 1 (30% số test): n≤18.
  • Subtask 2 (40% số test): n≤80, với mọi i≠j thì Ai≠Bj (tức là x=0).
  • Subtask 3 (30% số test): n≤80, x≤5.

Ví dụ

Input Output Giải thích
4 4
1 3
2 3
2 4
1 4
3 Mọi tập con 3 phần tử của S={1,2,3,4} đều chứa ít nhất một cặp: {1,2,3} chứa (1,3) và (2,3); {1,2,4} chứa (1,4) và (2,4); {2,3,4} chứa (2,3) và (2,4); {1,3,4} chứa (1,3) và (1,4). Tập con {1,2} có 2 phần tử nhưng không chứa cặp nào nên k=2 không thỏa mãn.
5 3
1 2
2 3
3 1
4 Ví dụ bổ sung (không có trong đề gốc). Tập con {1,4,5} có 3 phần tử nhưng không chứa cặp nào. Mọi tập con 4 phần tử đều chứa ít nhất hai trong ba số 1,2,3, nên chứa một cặp.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0