Đa nhím cấp k

Đề bài

Mô tả

Một đa nhím cấp 1 (1-multihedgehog) là một cây có đúng một đỉnh bậc ít nhất 3 (gọi là tâm) và tất cả các đỉnh còn lại đều có bậc 1 (lá). Nói cách khác, đó là một hình ngôi sao mà tâm có bậc 3.

Với k2, một đa nhím cấp k (k-multihedgehog) được định nghĩa đệ quy như sau: lấy một đa nhím cấp k1, sau đó với mỗi đỉnh lá v (gọi u là đỉnh kề duy nhất của v), xoá v và tạo một đa nhím cấp 1 mới với tâm w, rồi nối u với w bằng một cạnh. Các đa nhím cấp 1 mới có thể khác nhau (số lá và cách đánh số tuỳ ý).

Theo định nghĩa, đa nhím cấp k luôn là một cây.

Cho một cây n đỉnh và số nguyên k. Hãy xác định cây đã cho có phải là một đa nhím cấp k hay không.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nk.
  • n1 dòng tiếp theo, mỗi dòng chứa hai số nguyên u, v (1u,vn; uv) mô tả một cạnh của cây.

Dữ liệu đảm bảo đồ thị đã cho là một cây.

Dữ liệu ra

In ra "Yes" nếu cây đã cho là một đa nhím cấp k, ngược lại in ra "No" (không có dấu nháy).

Ràng buộc

  • 1n105
  • 1k109

Ví dụ

Input Output Giải thích
14 2
1 4
2 4
3 4
4 13
10 5
11 5
12 5
14 5
5 13
6 7
8 6
13 6
9 6
Yes Đỉnh 13 là tâm; ba đa nhím cấp 1 con (tại 4, 5, 6) đều có 3 lá.
3 1
1 3
2 3
No Tâm cần có bậc ít nhất 3, nhưng đỉnh 3 chỉ có bậc 2.

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