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

Cây có cạnh đen

Đề bài

Mô tả

Cho một cây (đồ thị vô hướng liên thông không có chu trình) gồm n đỉnh. Mỗi trong số n1 cạnh của cây được tô màu đen hoặc đỏ.

Bạn được cho một số nguyên k. Xét các dãy gồm k đỉnh. Một dãy [a1,a2,,ak] được gọi là tốt nếu nó thỏa mãn điều kiện sau:

  • Ta đi một đường trên cây (có thể đi qua cùng một cạnh hoặc đỉnh nhiều lần), bắt đầu từ a1 và kết thúc ở ak: xuất phát từ a1, đi đến a2 theo đường đi ngắn nhất giữa a1a2, rồi đi đến a3 theo cách tương tự, và cứ thế cho đến khi đi hết đường đi ngắn nhất giữa ak1ak.
  • Nếu trong quá trình đi ta đi qua ít nhất một cạnh màu đen, thì dãy đó là tốt.

Có tất cả nk dãy đỉnh. Hãy đếm xem có bao nhiêu dãy trong số đó là tốt. Vì kết quả có thể rất lớn, hãy in ra phần dư khi chia cho 109+7.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên nk — kích thước cây và độ dài dãy đỉnh.
  • Mỗi trong n1 dòng tiếp theo chứa ba số nguyên ui, vixi, trong đó uivi là hai đầu mút của cạnh, còn xi là màu của cạnh (0 là cạnh đỏ, 1 là cạnh đen).

Dữ liệu ra

In ra một số nguyên — số dãy tốt, lấy phần dư khi chia cho 109+7.

Ràng buộc

  • 2n105
  • 2k100
  • 1ui,vin
  • xi{0,1}
  • Các cạnh tạo thành một cây.

Ví dụ

Input Output Giải thích
4 4
1 2 1
2 3 1
3 4 1
252 Mọi cạnh đều đen. Trong 44=256 dãy, chỉ có 4 dãy không tốt là [1,1,1,1], [2,2,2,2], [3,3,3,3], [4,4,4,4] (không di chuyển nên không qua cạnh đen). Đáp án là 2564=252.
4 6
1 2 0
1 3 0
1 4 0
0 Mọi cạnh đều đỏ nên không có dãy nào đi qua cạnh đen.
3 5
1 2 1
2 3 0
210 35=243 dãy. Các dãy chỉ nằm trong thành phần đỏ {2,3} (tức mọi phần tử thuộc {2,3}) không đi qua cạnh đen, có 25=32 dãy như vậy; ngoài ra đỉnh 1 đứng một mình cho 15=1 dãy. Đáp án là 243321=210.

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 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