Đàm phán

Đề bài

Mô tả

n bộ đếm được đánh số từ 1 đến n. Một số cặp bộ đếm được nối với nhau bằng dây. Mỗi bộ đếm có một nút bấm.

Ban đầu mọi bộ đếm đều mang giá trị 0. Khi bấm nút của một bộ đếm, giá trị của bộ đếm đó tăng thêm 1, đồng thời giá trị của tất cả các bộ đếm nối trực tiếp với nó bằng dây cũng tăng thêm 1.

Cho trước một dãy n số nguyên a1,a2,,an. Bạn cần chọn một tập các bộ đếm phân biệt và bấm nút của mỗi bộ đếm trong tập đó đúng một lần (các bộ đếm còn lại không bấm). Sau khi bấm xong, với mọi i, giá trị cuối cùng của bộ đếm i phải khác ai.

Hãy xác định tập các bộ đếm cần bấm nút để thỏa mãn điều kiện trên.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm: số bộ đếm và số cặp được nối dây.
  • m dòng tiếp theo, mỗi dòng chứa hai số nguyên uivi (uivi), cho biết bộ đếm uivi được nối với nhau bằng dây. Mỗi cặp được nối xuất hiện đúng một lần.
  • Dòng cuối chứa n số nguyên a1,a2,,an.

Dữ liệu ra

Nếu không tồn tại cách chọn hợp lệ, in ra 1.

Ngược lại, dòng đầu in số nguyên k (0kn): số bộ đếm cần bấm nút. Dòng thứ hai in k số nguyên phân biệt là chỉ số các bộ đếm đó, theo thứ tự tùy ý.

Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Ràng buộc

  • 1n,m105
  • 1ui,vin, uivi
  • 0ai105

Ví dụ

Input Output Giải thích
4 2
1 2
3 4
0 0 0 0
2
1 3
Bấm bộ đếm 1 và 3. Giá trị cuối: bộ đếm 1 và 2 thành 1, bộ đếm 3 và 4 thành 1. Mọi giá trị đều khác ai=0.
5 5
2 3
4 1
1 5
5 3
2 1
1 1 2 0 2
3
1 2 4
Bấm các bộ đếm 1, 2, 4. Giá trị cuối lần lượt là 3,2,1,2,1, đều khác dãy a=(1,1,2,0,2). Vì đề cho phép nhiều đáp án, một tập bộ đếm hợp lệ bất kỳ đều được chấp nhận.

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