PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Prob_Solve
[問題] APCS 20191026 P4
作者:
fatcat8127
(胖胖貓)
2019-10-31 21:51:07
這題是APCS的題目, 所以我手上也沒有測資。
而題目是我憑藉記憶寫下來的, 如果有題意不清或是理解錯誤我可以補充。
給定一個二維陣列( 2<=(R,C)<=25 ), 每格的數值只會是0或1。
當同一行/列都是一樣的數值時便可以刪去這一行/列, 直到剩下一行或是一列時即結束。
題目詢問『最少』要變更幾格才可以讓給予的二維陣列不斷刪減達到停止條件?
刪減時必須遵守:刪減的格子只能從『現在範圍的邊界』中挑選!
測資的過程請參閱投影片:https://pse.is/KYPNP
題目說明:
範例輸入:
3 5
0 0 0 1 0
1 0 1 1 1
0 0 0 1 0
4 5
1 1 1 0 1
0 1 0 1 1
0 0 0 0 0
0 0 0 1 0
範例輸出:
1
2
測試輸入:
25 25
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
測試輸出:
288
作者:
ckc1ark
(偽物)
2019-10-31 22:59:00
如果只能從邊界刪 這範圍感覺可以dp
作者:
oToToT
(å±å©)
2019-11-01 02:05:00
dp[u][d][l][r]代表最後矩形是(l,u)~(r,d)所需的最小步數
作者:
DJWS
(...)
2019-11-01 07:52:00
https://hackmd.io/@wiwiho/HJwOGYb5r
作者:
fatcat8127
(胖胖貓)
2019-11-01 21:22:00
謝謝大家的回覆,我自己想到priorty-queue
作者:
DJWS
(...)
2019-11-02 06:54:00
priority queue 要怎麼做?
作者:
fatcat8127
(胖胖貓)
2019-11-02 10:46:00
把四個邊界的狀態丟到Heap,每次拿最小格子數的更新
https://ideone.com/cnIxLa
作者:
DJWS
(...)
2019-11-02 16:22:00
看起來是貪心法,我不太確定對不對噢我看懂了 這是Uniform-cost Search 結果是對的#54-#56 少了大括號
作者:
fatcat8127
(胖胖貓)
2019-11-04 08:38:00
我習慣把相同事情用逗號併一起,那邊應該沒問題
繼續閱讀
[問題] 高中數學請問
wozmirror
[討論] Leetcode #283 Move zeroes
CoNsTaR
[問題] peak search
j0958322080
[問題] SVD影像壓縮
j0958322080
[問題] ZJ-c223: Add All(變異版)(已解決)
fatcat8127
Re: [問題] 如何再精進?
suhang
Re: [問題] 如何再精進?
cateran
Re: [問題] ZJ-b952 背包問題(?)
boqCAE
[問題] UVa 11007 魔術方塊 最少步驟解
nicknick0630
[問題] ZJ-b693 棕梠畫畫
fatcat8127
Links
booklink
Contact Us: admin [ a t ] ucptt.com