Cây game - Minimax cơ bản

Xem dưới dạng PDF

Gửi bài giải


Điểm: 25
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

Hai bạn An và Bình chơi một trò chơi trên cây. Cây có \(N\) nút, gốc là nút 1. Mỗi nút lá của cây có một giá trị là số nguyên. Luật chơi như sau: một quân cờ bắt đầu ở nút gốc. Đến lượt mình, người chơi di chuyển quân cờ xuống một nút con bất kỳ. Trò chơi kết thúc khi quân cờ đến nút lá. An là người đi trước và muốn giá trị của nút lá càng lớn càng tốt, Bình muốn giá trị càng nhỏ càng tốt. Cả hai đều chơi tối ưu.

Hãy xác định giá trị của nút lá mà quân cờ sẽ kết thúc, biết rằng An và Bình lần lượt điều khiển quân cờ ở các độ sâu chẵn (An) và lẻ (Bình) tính từ gốc (gốc ở độ sâu 0 thuộc về An).

Định dạng đầu vào

  • Dòng đầu chứa số nguyên \(N\) (\(1 \le N \le 50\)).
  • Dòng thứ hai chứa \(N-1\) số nguyên \(p_2, p_3, \dots, p_N\) (\(1 \le p_i < i\)), với \(p_i\) là nút cha của nút \(i\).
  • Dòng thứ ba chứa \(N\) số nguyên \(v_1, v_2, \dots, v_N\) (\(-10^9 \le v_i \le 10^9\)). Giá trị của nút lá được cho bởi \(v_i\); nếu nút \(i\) là nút trong, giá trị \(v_i\) sẽ được bỏ qua.

Định dạng đầu ra

  • Một số nguyên duy nhất là kết quả của trò chơi.

Ví dụ

Input:

9
1 1 2 2 3 3 4 4
0 0 0 5 3 7 2 9 1

Output:

3
Ràng buộc
Subtask Điểm Giới hạn
1 20 \(N \le 10^3\)
2 30 \(N \le 10^4\)
3 50 \(N \le 10^5\)

Nhận xét

Không có ý kiến tại thời điểm này.