Dây đèn — cắt thành ba phần bằng nhau

Đề bài

Mô tả

Một dây đèn trang trí gồm n bóng đèn (đánh số từ 1 đến n) và n1 sợi dây nối. Mỗi hai bóng đèn đều được nối với nhau một cách trực tiếp hoặc gián tiếp qua các sợi dây, nói cách khác cấu trúc của dây đèn là một cây.

Mỗi bóng đèn thứ i có một nhiệt độ ti, giá trị này có thể dương, âm hoặc bằng 0.

Người ta muốn cắt đúng hai sợi dây khác nhau để dây đèn tách thành đúng ba phần. Mỗi phần phải chứa ít nhất một bóng đèn, và tổng nhiệt độ của các bóng đèn trong ba phần phải bằng nhau.

Để mô tả cây, người ta cầm dây đèn lên bằng cách giữ một bóng đèn nào đó; khi đó bóng này trở thành gốc của cây, còn mỗi bóng đèn khác đều đang treo trên đúng một sợi dây (sợi dây nối nó với bóng nằm phía trên nó). Vì vậy, việc chọn hai sợi dây để cắt tương đương với việc chọn hai bóng đèn (khác gốc): cắt sợi dây mà mỗi bóng đó đang treo trên đó. Bóng gốc không thể nằm trong đáp án.

Hãy tìm một cách cắt hợp lệ, hoặc xác định rằng không tồn tại cách nào.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n — số bóng đèn.
  • Trong n dòng tiếp theo, dòng thứ i chứa hai số nguyên aiti: ai là chỉ số bóng đèn mà bóng i đang treo trên đó (ai=0 nếu bóng i là gốc), và ti là nhiệt độ của bóng i.

Dữ liệu ra

  • Nếu không tồn tại cách cắt hợp lệ, in ra 1.
  • Ngược lại, in ra hai số nguyên là chỉ số của hai bóng đèn: cắt hai sợi dây mà hai bóng này đang treo trên đó. Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Ràng buộc

  • 3n106
  • 100ti100
  • Dữ liệu mô tả một cây có gốc hợp lệ (đúng một bóng có ai=0).

Ví dụ

Input Output Giải thích
6
2 4
0 5
4 2
2 1
1 1
4 2
1 4 Gốc là bóng 2. Tổng nhiệt độ =15, mỗi phần cần tổng 5. Cắt sợi dây treo bóng 1 (tách được phần {1,5} có tổng 4+1=5) và sợi dây treo bóng 4 (tách được phần {4,3,6} có tổng 1+2+2=5); phần còn lại chỉ gồm bóng 2 có tổng 5.
6
2 4
0 6
4 2
2 1
1 1
4 2
-1 Tổng nhiệt độ =16 không chia hết cho 3 nên không thể chia thành ba phần bằng 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 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