c055: 5. 合成斧頭
標籤 :
通過比率 : 1人/1人 ( 100% ) [非即時]
評分方式:
Tolerant

最近更新 : 2025-06-08 12:41

內容

⼩⽅塊喜歡玩⽅塊遊戲。他有⼀個 N × M 的表格,每⼀格都會放著⽯頭或是⽊棍,⼩⽅塊想要⽤這個表格合成出越多個⽯斧越好。令第 i 橫列的第 j 格為 (i, j),每次⼩⽅塊可以進⾏以下兩種操作之⼀:

  • 挑選⼀個格⼦ (i, j) 滿⾜ 1 ≤ i ≤ N - 3, 1 ≤ j ≤ M - 2,且 (i, j), (i+1, j), (i, j+1) 格⼦放著⽯ 頭,(i+1, j+1), (i+2, j+1) 放著⽊棍。⼩⽅塊可以⽤這些格⼦合成出⼀個⽯斧,合成完後這些位置都會變成空氣。
  • 挑選⼀個格⼦ (i, j) 滿⾜ 1 ≤ i ≤ N - 3, 1 ≤ j ≤ M - 2,且 (i, j), (i, j+1), (i+1, j+1) 格⼦放著⽯頭,(i+1, j), (i+2, j) 放著⽊棍。⼩⽅塊可以⽤這些格⼦合成出⼀個⽯斧,合成完後這些位置都會變成空氣。

舉例來說,下圖為⼀個合成的例⼦:

現在給定表格的內容,請幫⼩⽅塊計算他最多可以合成出幾個⽯斧。

輸入說明

輸入第⼀⾏有兩個正整數 N, M,代表表格的⼤⼩。

接下來 N ⾏,第 i ⾏有⼀個長度為 M 的字串 si,若 si,j = 0 則代表格⼦ (i, j) 放的是⽯頭,否則代表為⽊棍。

  • 1 ≤ N, M ≤ 500
  • |si| = M
  • si,j ∈ {0, 1}
輸出說明

請輸出⼀⾏,該⾏有⼀個整數,代表最多可以合成出幾個⽯斧。

範例輸入 #1
3 4
0000
0110
0110
範例輸出 #1
2
範例輸入 #2
5 5
00000
00000
00000
00000
00000
範例輸出 #2
0
範例輸入 #3
4 4
0000
0100
0110
1110
範例輸出 #3
2
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (20%): 1.0s , <1K
公開 測資點#1 (20%): 1.0s , <1K
公開 測資點#2 (20%): 1.0s , <1M
公開 測資點#3 (20%): 1.0s , <1M
公開 測資點#4 (20%): 1.0s , <1M
提示 :

題⽬敘述中的圖說明了第⼀筆範例測資,答案為 2。

在第⼆筆範例測資中,因為沒有⽊棍所以答案顯然為 0。

標籤:
出處:
2024YTP決賽 [管理者:
zero (管理員)
]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」