VM 12 Bài 05 - Raldono và trò chơi cá cược

Xem dạng PDF

Gửi bài giải

Điểm: 1,16 (OI)
Giới hạn thời gian: 0.38s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
Nguyễn Tấn Sỹ Nguyên
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Như vậy là sau bao ngày chờ đợi, EURO 2012 đã chính thức khai cuộc, cũng là lúc các tín đồ túc cầu giáo bắt đầu trải qua hơn ba tuần ăn bóng đá, ngủ bóng đá. Nhân dịp này, Raldono rủ bạn thân của mình là Balitello tham gia trò chơi dự đoán kết quả ~N~ trận đấu sắp diễn ra. Nội dung trò chơi như sau:

  • Hai người sẽ lần lượt dự đoán đội chiến thắng trong mỗi trận đấu. Cụ thể hơn, người chơi sẽ chọn một trong hai đội trước khi trận đấu diễn ra, nếu đội đó thắng thì người chơi sẽ nhận được điểm tương ứng, ngược lại sẽ không được điểm. Raldono sẽ là người dự đoán trận đấu đầu tiên (nghĩa là Raldono sẽ dự đoán các trận đấu thứ ~1, 3, 5, \cdots~ còn Balitello sẽ dự đoán các trận đấu thứ ~2, 4, 6, \cdots~) Lưu ý là việc dự đoán trận đấu thứ ~i~ (với ~i > 1~) sẽ diễn ra sau khi trận đấu thứ ~i - 1~ kết thúc, do đó người chơi sẽ biết điểm của cả hai người sau ~i - 1~ trận đấu đầu tiên trước khi dự đoán trận đấu thứ ~i~.

  • Vốn là một fan hâm mộ bóng đá cuồng nhiệt, Raldono đã tổng hợp được một bảng số liệu khá chính xác dựa trên thành tích thi đấu của các đội bóng. Cụ thể là mỗi trận đấu giữa hai đội ~A~ và ~B~, ta biết được xác suất chiến thắng của đội ~A~ là ~prob \%~ và của đội ~B~ là ~(100 - prob)\%~ (vì Balitello không thích kết quả hòa nên đảm bảo những trận đấu được chọn sẽ không có kết quả hòa).

  • Ngoài ra, để tăng tính hấp dẫn cho trò chơi, Raldono quyết định chọn ~scoreA~ là điểm số người chơi sẽ nhận được nếu dự đoán đúng đội ~A~ chiến thắng, tương tự là ~scoreB~ với đội ~B~. Thông thường Raldono sẽ điều chỉnh đội có xác suất thắng cao hơn thì điểm nhận được sẽ thấp hơn nhằm tạo sự cân bằng khi người chơi lựa chọn, tuy nhiên đôi lúc cậu lại chọn số một cách ngẫu nhiên!

  • Kết thúc trò chơi, người có điểm cao hơn sẽ là người chiến thắng. Nếu hai người bằng điểm nhau, Raldono sẽ tung đồng xu để phân định thắng thua (vì, như đã đề cập, Balitello không thích kết quả hòa).

Là bạn tốt của nhau, đương nhiên Raldono sẽ cho Balitello biết tất cả số liệu mình đã thu thập được. Biết rằng cả hai đều rất giỏi tính toán nên luôn chơi theo cách tối ưu nhất (nghĩa là làm cho xác suất chiến thắng của mình lớn nhất có thể), hãy tính xác suất Raldono giành chiến thắng trong trò chơi này.

Input

Dòng 1 ghi số nguyên ~N~ ~(1 \leq N \leq 100)~.

Dòng ~i + 1~ trong ~N~ dòng tiếp theo ghi 3 số nguyên ~prob, scoreA, scoreB~ tương ứng với trận đấu thứ ~i~ ~(0 \leq prob, scoreA, scoreB \leq 100)~.

Output

Ghi ra xác suất Raldono giành chiến thắng, với sai số không vượt quá ~10^{-6}~ so với kết quả.

Giới hạn

~30\%~ số test có ~N \leq 10~.

Sample Input 1

2
40 10 10
60 10 10

Sample Output 1

0.500000000

Sample Input 2

2
30 7 8
80 10 9

Sample Output 2

0.170000000

Sample Input 3

3
50 5 5
100 0 80
10 15 20

Sample Output 3

0.975000000

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.