VNOI Marathon 08

Từ tập các bài có trên SPOJ (diva)

2820. The FA cup

Mã bài: FACUP

Cúp FA

Cúp FA là cúp bóng ðá lâu ðời nhất từ trước tới nay. Cup FA ðá theo thể thức loại trực tiếp. Giải ðấu gồm 2^N ðội, ðá trong N vòng. Vòng ðầu tiên có 2^(N – 1) trận ðấu, 2^(N – 1) ðội thắng sẽ vào vòng 2. 2^(N – 1) ðội thua bị loại. Cứ tiếp tục cho ðến khi chỉ còn 1 ðội duy nhất và ðó là ðội vô ðịch.

Vòng 1 có 2^(N – 1) trận ðấu ðược ðánh số từ 1 ðến 2^(N – 1). Ở vòng 1, ðội 1 gặp ðội 2, 3 gặp 4, …, ðội (2k + 1) gặp ðội (2k + 2). Ở vòng 2, ðội thắng trận 1 sẽ gặp ðội thắng trận 2, …, ðội thắng trận (2k + 1) gặp ðội thắng trận 2k + 2.

Vòng 2 sẽ có 2^(N – 2) trận ðấu. Các trận ðược ðánh số lại từ 1 ðến 2^(N – 2). Ở vòng 3, ðội thắng trận 1 sẽ gặp ðội thắng trận 2, …, ðội thắng trận (2k + 1) gặp ðội thắng trận 2k + 2.

Các trận ðấu sẽ không có tỉ số hòa (nếu hòa 2 ðội sẽ ðá penalty). Bạn ðã biết kết quả bốc thãm ban ðầu, và tỉ lệ khả nãng thắng, thua giữa hai ðội bất kì. Hãy sắp xếp các ðội theo khả nãng ðội ðó vô ðịch giảm dần.

Dữ liệu

Dòng thứ nhất ghi số N. (1 ≤ N ≤ 8)

Tiếp theo là ma trận P gồm các số nguyên trong khoảng [0, 100] kích thước 2^N * 2^N. Trong ðó P[x, y] là tỉ lệ phần trãm khả nãng ðội x thắng ðược ðội y khi 2 ðội gặp nhau. Dữ liệu ðảm bảo P[x, y] + P[y, x] = 100; P[x, x] = 0.

Kết quả

Ghi ra 2^N dòng mỗi dòng ghi ra số hiệu của một ðội ðược sắp xếp giảm dần theo cơ hội vô ðịch của ðội ðó. Nếu 2 ðội có cùng cơ hội vô ðịch như nhau thì in ra ðội có số hiệu nhỏ hơn trước.

Ví dụ

Dữ liệu
2
 0 90 50 50
10  0 10 10
50 90  0 50
50 90 50  0

Kết quả
1
3
4
2

Giải thích

Hãy coi các ðội lần lượt là MANCHESTER, FULHAM, ARSENAL, CHELSEA. 3 ông lớn MANCHESTER, ARSENAL, CHELSEA khi gặp FULHAM ðều có khả nãng thắng là 90%, thua là 10%. Khi 3 ðội này gặp nhau thì khả nãng thắng là chia ðều 50-50. Nhưng do MANCHESTER có lợi thế về lịch thi ðấu nên khả nãng vô ðịch của họ là cao nhất.

Photobucket

MANCHESTER vô ðịch nếu một trong hai trường hợp sau xảy ra:

- MANCHESTER thắng FULHAM, MANCHESTER thắng ARSENAL và ARSENAL thắng CHELSEA. Tỉ lệ này là 90% * 50% * 50% = 22.5%

- MANCHESTER thắng FULHAM, MANCHESTER thắng CHELSEA và CHELSEA thắng ARSENAL. Tỉ lệ này là 90% * 50% * 50% = 22.5%

Tổng cộng MANCHESTER có 45% cơ hội vô ðịch.

ARSENAL vô ðịch nếu:

- ARSENAL thắng CHELSEA, ARSENAL thắng MANCHESTER, MANCHESTER thắng FULHAM. Tỉ lệ này là 50% * 50% * 90% = 22.5%

- ARSENAL thắng CHELSEA, ARSENAL thắng FULHAM, FULHAM thắng MANCHESTER. Tỉ lệ này là 50% * 90% * 10% = 4.5% Tổng cộng ARSENAL có 27% cơ hội vô ðịch.

CHELSEA ðược tính tương tự như ARSENAL và cũng có 27% cơ hội vô ðịch.

FULHAM vô ðịch nếu:

- FULHAM thắng MANCHESTER, FULHAM thắng ARSENAL, ARSENAL thắng CHELSEA. Tỉ lệ này là 10% * 10% * 50% = 0.5%

- FULHAM thắng MANCHESTER, FULHAM thắng CHELSEA, CHELSEA thắng ARSENAL. Tỉ lệ này là 10% * 10% * 50% = 0.5% Tổng cộng FULHAM chỉ có 1% cơ hội vô ðịch.


Được gửi lên bởi:Lê Ðôn Khuê
Ngày:2008-06-27
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Ngôn ngữ cho phép:Tất cả ngoại trừ: AWK C++ 4.3.2 CLOJ ERL F# GO JS PERL 6 PYTH 3.1.2 SCALA SED TCL
Nguồn bài:VNOI Marathon'08-Round3/DivA
Problem Setter:LêÐônKhuê
Origin:UVA

SPOJ System © 2012 Sphere Research Labs | Projekty informatyczne i aplikacje na zamówienie. All Rights Reserved.