範例
作為範例,假設測試資料的長相為
2 3
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 -1 0 0 0 0 0 -1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
則下面是一個可能的合法輸出
1 1 2 2 3 3 11 12 12 12 12 21 21 21 21
1 -1 2 4 3 13 11 11 14 15 15 15 15 22 22
5 5 6 4 4 13 13 16 14 14 23 23 -1 22 24
5 7 6 6 8 8 17 16 16 18 23 25 25 24 24
9 7 7 10 8 19 17 17 20 18 18 25 26 27 27
9 9 28 10 10 19 19 35 20 20 41 26 26 27 42
29 29 28 28 30 -1 36 35 35 37 41 41 43 42 42
29 31 32 32 30 30 36 36 38 37 37 43 43 44 44
31 31 32 -1 33 33 39 38 38 -1 45 45 45 45 44
34 34 34 34 33 39 39 40 40 40 40 46 46 46 46
在這個範例中,最佳解的共用積木區塊對數量為 ,而上面輸出的任兩個相鄰區塊都有共用積木,得到區塊對數量為 ,表示 和 的值分別為 和 。因此,假設分數比重 ,這個輸出可以獲得 分。
視覺化工具(Visualizer)
為了方便選手觀看自己的輸出結果以及觀察測試資料,在此任務的附件(attachment)中,有一腳本程式(script)供選手視覺化(visualize)輸入檔與輸出檔。
請利用下列指令視覺化輸入檔。
python3 visualizer.py [input file]
你可利用下列指令,將你對於某個輸入計算出的解做視覺化。因為技術上的限制,附件中提供的視覺化工具在棋盤過大時,僅會顯示前 排、以及前 欄的方形小棋盤。
python3 visualizer.py [input file] --solution [output file]
為了方便辨識,程式會以上色每塊積木的方式輸出,而不輸出積木上面的數字。但由於顏色數量有限,程式會重新為所有積木上色並僅保證相鄰的積木不同色。
範例:
python3 visualizer.py input_1_1.txt --solution output_1_1.txt
請注意,若你傳入的資料的格式並不合法,將會產生一些不可預期的行為。不過,當你的解答唯一違反的規則是「未蓋滿所有格子」時,將未被蓋到的格子留下數字 會讓該格子呈現白色,並正常的進行視覺化。
一張使用前面範例所提到的視覺化成果圖如下:
:::align{center}
:::
測資限制
- 。
- 。
- 輸入的數字皆為整數。
- 保證任一個被劃分出來的 方形小棋盤內,特殊格子數量都不超過 。
- 保證存在一種可以蓋滿棋盤的方式。
- 保證任意兩個特殊格子皆不八方位相鄰。
評分說明
本題共有 10 組測試資料,輸入檔案的說明如表所示。
對於每一組測試資料,若你上傳的輸出檔案滿足輸出格式,並且成功蓋滿了所有除了特殊格子以外的格子,那麼你會得到以下分數
其中 是該測試資料的分數比重, 是最佳解的共用積木區塊對數量、 是你給出的構造內的共用積木區塊對數量。
若你上傳的輸出檔案不滿足輸出格式、或是沒有蓋滿所有除了特殊格子以外的格子,那麼你將得到 分。
| 測試資料 |
分數比重 |
輸入檔名 |
輸出檔名 |
說明 |
| 1 |
4 |
input_1_1.txt |
output_1_1.txt |
,。 |
| 2 |
input_2_1.txt |
output_2_1.txt |
,。 |
| 3 |
6 |
input_3_1.txt |
output_3_1.txt |
,。 |
| 4 |
8 |
input_4_1.txt |
output_4_1.txt |
,。 |
| 5 |
10 |
input_5_1.txt |
output_5_1.txt |
,。 |
| 6 |
12 |
input_6_1.txt |
output_6_1.txt |
| 7 |
8 |
input_7_1.txt |
output_7_1.txt |
,。 |
| 8 |
20 |
input_8_1.txt |
output_8_1.txt |
,。 |
| 9 |
input_9_1.txt |
output_9_1.txt |
,。 |
| 10 |
8 |
input_10_1.txt |
output_10_1.txt |
,。 |