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

Chỉ số hạnh phúc

Đề bài

Mô tả

Một đất nước có n thành phố và n1 con đường vô hướng nối các cặp thành phố, tạo thành một cây. Các thành phố được đánh số từ 1 đến n, trong đó thành phố 1 là thủ đô.

Đất nước có m cư dân. Thành phố ipi người sinh sống, nhưng tất cả đều làm việc tại thủ đô. Buổi tối, mỗi người trở về nhà theo đường đi ngắn nhất trên cây.

Mỗi người khi rời thủ đô có thể đang ở tâm trạng tốt hoặc tâm trạng xấu. Trên đường về, tâm trạng có thể chuyển từ tốt sang xấu, nhưng không bao giờ chuyển từ xấu sang tốt. Tâm trạng không thay đổi bên trong một thành phố.

Tại mỗi thành phố có một thiết bị đo tâm trạng. Thiết bị tại thành phố i tính chỉ số hạnh phúc hi bằng:

hi=(số người tâm trạng tốt đi qua thành phố i)(số người tâm trạng xấu đi qua thành phố i).

Cho dữ liệu pihi, hãy kiểm tra xem có tồn tại một cách phân bố tâm trạng ban đầu (tại thủ đô) và các thời điểm chuyển tâm trạng dọc đường sao cho tất cả các chỉ số hi khớp chính xác hay không.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t — số bộ test.
  • Mỗi bộ test:
    • Dòng đầu chứa hai số nguyên nm — số thành phố và số cư dân.
    • Dòng thứ hai chứa n số nguyên p1,p2,,pn (0pim, p1+p2++pn=m).
    • Dòng thứ ba chứa n số nguyên h1,h2,,hn (109hi109).
    • n1 dòng tiếp theo, mỗi dòng chứa hai số nguyên xi, yi mô tả một con đường.

Dữ liệu ra

Với mỗi bộ test, in ra YES nếu dữ liệu thu được là hợp lệ, ngược lại in NO.

Ràng buộc

  • 1t10000
  • 1n105
  • 0m109
  • 1xi,yin, xiyi
  • Tổng n trên tất cả các bộ test không vượt quá 2·105.

Ví dụ

Input Output Giải thích
2
4 4
1 1 1 1
4 1 -3 -1
1 2
1 3
1 4
3 13
3 3 7
13 1 4
1 2
1 3
NO
NO
Cả hai trường hợp đều không tồn tại phân bố tâm trạng phù hợp với hi đã cho.
2
7 4
1 0 1 1 0 1 0
4 0 0 -1 0 -1 0
1 2
1 3
1 4
3 5
3 6
3 7
5 11
1 2 5 2 1
-11 -2 -6 -2 -1
1 2
1 3
1 4
3 5
YES
YES
Ở bộ thứ nhất: cả 4 người rời thủ đô đều vui vẻ, một số chuyển sang tâm trạng xấu trước khi đến thành phố 4 và thành phố 6. Ở bộ thứ hai: cả 11 người đều rời thủ đô trong tâm trạng xấu.

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