藍橋杯 15校選拔 B6 數獨 邊dfs邊校驗

2021-10-09 04:14:27 字數 1508 閱讀 5623

你一定聽說過「數獨」遊戲。

如【圖1.png】,玩家需要根據9×9盤面上的已知數字,推理出所有剩餘空格的數字,並滿足每一行、每一列、每乙個同色九宮內的數字均含1-9,不重複。

數獨的答案都是唯一的,所以,多個解也稱為無解。

本圖的數字據說是芬蘭數學家花了3個月的時間設計出來的較難的題目。但對會使用計算機程式設計的你來說,恐怕易如反掌了。

本題的要求就是輸入數獨題目,程式輸出數獨的唯一解。我們保證所有已知資料的格式都是合法的,並且題目有唯一的解。

格式要求,輸入9行,每行9個字元,0代表未知,其它數字為已知。

輸出9行,每行9個數字表示數獨的解。

例如:輸入(即圖中題目):

005300000

800000020

070010500

400005300

010070006

003200080

060500009

004000030

000009700

程式應該輸出:

145327698

839654127

672918543

496185372

218473956

753296481

367542819

984761235

521839764

再例如,輸入:

800000000

003600000

070090200

050007000

000045700

000100030

001000068

008500010

090000400

程式應該輸出:

812753649

943682175

675491283

154237896

369845721

287169534

521974368

438526917

796318452

資源約定:

峰值記憶體消耗(含虛擬機器) < 256m

cpu消耗 < 2000ms

思路:幻方問題->dfs

看一眼這個輸入示例,感覺0聽過的->搜尋深度有點大->剪枝

public

class

main

}private

static

boolean

dfs(

int y,

int x)

}for

(char i =

'1';i <=

'9';i ++

)return

false;}

private

static

boolean

check

(int y,

int x)

private

static

void

init()

}

2018藍橋杯校選復現6

湯達人有點fat,所以剛開始他只能跳1公尺遠,但是它有個遠大的理想 他想跳得更遠。上天可憐他,派ljl送給他第m代綠巨人藥劑,湯達人喝後,每一天跳遠的長度都是前一天的m倍。那麼請問n天後湯達人共跳了多遠 答案需要模10007 如ljl送給他的是第3代藥劑,即m 3,那麼第4天 n 4 湯達人跳了 1...

2016藍橋杯B組 NO 6

方格填數 如下的10個格仔 填入0 9的數字。要求 連續的兩個數字不能相鄰。左右 上下 對角都算相鄰 一共有多少種可能的填數方案?請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字。include include include include using n...

關於藍橋杯15屆校賽第四題

最近幾天忙著看指標和陣列的關係,把書翻了起來,不翻不要緊,一翻嚇一跳,本以為網上資源那麼豐富,不需要去翻書本,然而並不是這樣,網上講的很片面,書上的細節很多,需要靜下心來去慢慢啃。前幾天校園網故障,一直上不去網,於是也就無法寫部落格了,昨天來網了,而昨天又是藍橋杯校賽,於是就耽擱了寫部落格,最主要也...