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

Tiến hóa bò

Đề bài

Mô tả

Cho N quần thể, mỗi quần thể có một tập đặc điểm (xâu ký tự). Kiểm tra xem có tồn tại cây tiến hóa hợp lệ hay không: mỗi đặc điểm chỉ xuất hiện trên đúng một cạnh của cây (tức mỗi đặc điểm tiến hóa đúng một lần).

Cây tiến hóa hợp lệ khi và chỉ khi không có hai đặc điểm nào "giao chéo": tức không tồn tại hai đặc điểm A,B sao cho đồng thời có quần thể chỉ có A, quần thể chỉ có B, và quần thể có cả A lẫn B.

Dữ liệu vào

  • Dòng đầu: N.
  • N dòng tiếp: mỗi dòng bắt đầu bằng Ki, tiếp theo Ki xâu ký tự là tên các đặc điểm.

Dữ liệu ra

In yes nếu tồn tại cây tiến hóa hợp lệ, ngược lại in no.

Ràng buộc

  • 2N25
  • 0Ki25
  • Mỗi xâu đặc điểm dài tối đa 20 ký tự thường.
  • Không có hai quần thể có cùng tập đặc điểm.

Ví dụ

Input Output Giải thích
4
2 spots firebreathing
0
1 flying
2 telepathic flying
yes Không có cặp đặc điểm nào giao chéo.
7
2 yhidd rzowk
1 rzowk
1 wlrbb
2 wlrbb qbhcd
2 rzowk scdxr
1 mowfr
0
yes Các tập đặc điểm lồng nhau hoặc rời nhau.

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