TopCoder

abcabcabc
有人要寫 p6 嗎 > <

User's AC Ratio

8.3% (1/12)

Submission's AC Ratio

2.1% (1/47)

Tags

Description

Blotto 是一個資源分配的雙人對戰遊戲。在這個遊戲,玩家 A 和玩家 B 要各自把至多 $C = 100$ 名士兵分配到 $N = 10$ 個戰場,接下來雙方的士兵會在每個戰場對戰。

假設 $A$ 的士兵數量是 $P_a = [a_1, a_2, \dots, a_{10}]$,$B$ 的士兵數量是 $P_b = [b_1, b_2, \dots, b_{10}]$。在一般的 Blotto 遊戲中,第 $i$ 個戰場上士兵較多的隊伍會獲得 $i$ 分,而所有戰場中總分較多者獲勝。

但是在這題,我們要玩兩種這個遊戲的變體,使用不同的方法判斷獲勝的隊伍。

遊戲一:接二連三

每一個戰場上士兵較多者獲勝,假設某玩家在戰場 $i$ 獲勝,並且該玩家在前面 $x-1$ 個戰場上皆獲勝(換句話說,戰場 $i$ 是該玩家的第 $x$ 連勝),那麼該玩家會獲得 $x$ 分。如果某個戰場平手,那麼雙方都不會得到分數,連勝次數也會歸零。

舉例:假設 $P_a = [10, 10, 10, 10, 10, 10, 10, 10, 10, 10], P_b = [1, 3, 11, 15, 16, 10, 12, 8, 19, 3]$,那麼每個戰場的獲勝方為 $[A, A, B, B, B, X, B, A, B, A]$,玩家 A 的得分為 $1 + 2 + 1 + 1 = 5$,玩家 B 的得分為 $1 + 2 + 3 + 1 + 1 = 8$,因此 $B$ 獲勝。

遊戲二:三角不等式

令戰場 $i$ 上兩隊的兵力分別為 $a, b$。如果 $a, b, i$ 三個數字形成三角形的三邊長(兩邊和大於第三邊),那麼兵力小的那方獲得 $i$ 分。如果 $a, b, i$ 三個數字不能形成三角形的三邊長,那麼兵力大的那方獲得 $i$ 分。如果 $a = b$,那麼兩隊都得 $0$ 分。

舉例:假設在戰場 $i = 4$,$a = 3, b = 6$,那麼玩家 A 會得 $4$ 分。假設在戰場 $i = 7$ 中 $a = 1, b = 3$,那麼玩家 B 會得 $7$ 分。

請寫一個程式輸出你在兩種遊戲要如何配置士兵。在這次比賽中,你將會跟三個評審各自對決(每個評審有自己的隱藏的陣列,你會用你的一個陣列跟他們分別對決)。在比賽結束後,我們會蒐集每一隊的答案。你除了跟評審對決之外,還會跟其他二十二隊在賽中的答案分別對決!

評分

兩個遊戲的總分各為 50 分。你的分數取決於你跟其他對手對決時獲勝的場數。如果你有 $k$ 個對手,而你贏了 $w$ 場,平手了 $d$ 場(雙方總分相同那麼判為平手),那麼你在該遊戲的得分是
$$
50 \times \frac{w + d/2}{k}
$$
在比賽時 $k = 3$,比賽結束之後 $k = 25$。這代表你在比賽中看到的分數和最後的得分不一定相同。

注意,我們只會使用你的最後一次提交的程式評分。如果某一隊輸出格式錯誤(或是沒有上傳),那麼該隊會被視為每個戰場都放 $0$ 隻兵。

註:比賽後上傳的人會與 26 組對決,因此 $k = 26$。

Input Format

輸入只有一個整數,代表玩的遊戲種類。如果是 $1$,代表遊戲是「接二連三」,如果是 $2$,代表遊戲是「三角不等式」。

Output Format

第一行輸出一個整數 "0",這個整數在比賽中作為隊伍 ID(如果是 team10 就輸出 10)。

第二行輸出 $N = 10$ 個非負整數,代表你在每個戰場配置的兵力。這些數字的總和必須介於 $0$ 到 $C = 100$ 之間。

Sample Input 1

1

Sample Output 1

0
10 10 10 10 10 10 10 10 10 10

Hints

Problem Source

Subtasks

No. Testdata Range Constraints Score
1 0 遊戲一 50
2 1 遊戲二 50

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 262144 65536 1
1 1000 262144 65536 2