Vẽ đoạn thẳng

Xem dạng PDF

Gửi bài giải

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

Nguồn bài:
SRM 470, Div 1- Level 2Người dịch: Ngô Minh Ðức
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Bờm vẽ một hình chữ nhật. Ở cạnh trên của hình, Bờm vẽ ~n~ điểm và đánh số từ ~1~ đến ~n~ từ trái sang phải. Ở cạnh dưới, Bờm cũng vẽ ~n~ điểm và đánh số từ ~1~ đến ~n~ từ trái sang phải.

Bờm sẽ vẽ ~n~ đoạn thẳng. Với mỗi đoạn, Bờm sẽ chọn một điểm chưa chọn ở cạnh trên, sau đó sẽ chọn một điểm chưa chọn ở cạnh dưới. Cuối cùng Bờm nối hai điểm với nhau để tạo thành đoạn thẳng.

Bờm đã vẽ được một số đoạn thẳng rồi. Với các đoạn còn lại, Bờm sẽ chọn ngẫu nhiên một điểm ở cạnh trên và một điểm ở cạnh dưới để nối lại với nhau. Hãy tính giá trị kỳ vọng (expected value) của số cặp đoạn thẳng cắt nhau sau khi Bờm hoàn thành bức vẽ.

Input

  • Mỗi test bắt đầu bằng thẻ "~[CASE]~", các test cách nhau bởi một dòng trắng. Thẻ "~[END]~" báo hiệu kết thúc file input.
  • Với mỗi test, dòng đầu tiên chứa ~N~.
  • Tiếp theo là dòng "~<<~".
  • Các dòng tiếp theo chứa số hiệu các điểm ở cạnh trên của các đoạn thẳng mà Bờm đã vẽ.
  • Tiếp theo là dòng "~>>~'.
  • Tiếp theo là dòng "~<<~".
  • Các dòng tiếp theo chứa số hiệu các điểm ở cạnh dưới của các đoạn thẳng mà Bờm đã vẽ.
  • Tiếp theo là dòng "~>>~'.

Output

  • Với mỗi test, in ra giá trị kỳ vọng tìm được, với sai số không quá ~10^{-6}~.

Giới hạn

  • ~N~ nằm trong phạm vi ~1..10000~.
  • Số đoạn thẳng Bờm đã vẽ nằm trong phạm vi ~1..50~.

Sample Input

[CASE]
3
<<
2
>>
<<
3
>>

[CASE]
5
<<
1
4
>>
<<
3
1
>>

[END]

Sample Output

1.500000
5.500000

Note

Ví dụ ~1~:

image

Có ~4~ cách để Bờm chọn các điểm

[Trên 1]-[Dưới 1] [Trên 3]-[Dưới 2]
[Trên 1]-[Dưới 2] [Trên 3]-[Dưới 1]
[Trên 3]-[Dưới 1] [Trên 1]-[Dưới 2]
[Trên 3]-[Dưới 2] [Trên 1]-[Dưới 1]

Cách ~1~ và ~4~ tương ứng với hình bên trái. Cách ~2~ và ~3~ tương ứng với hình bên phải. Đoạn thẳng xanh là đoạn thẳng vẽ ban đầu bởi Bờm. Trong hình trái, có ~1~ cặp đoạn thẳng cắt nhau. Trong hình phải, có ~2~ cặp đoạn thẳng cắt nhau. Do đó giá trị kỳ vọng của số cặp đoạn thẳng cắt nhau là ~1.5~.


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.