第四屆藍橋杯省賽C A組 剪格仔

2021-08-17 18:50:31 字數 1872 閱讀 7496

如圖p1.jpg所示,3 x 3 的格仔中填寫了一些整數。

我們沿著圖中的紅色線剪開,得到兩個部分,每個部分的數字和都是60。

本題的要求就是請你程式設計判定:對給定的m x n 的格仔中的整數,是否可以分割為兩個部分,使得這兩個區域的數字和相等。

如果存在多種解答,請輸出包含左上角格仔的那個區域包含的格仔的最小數目。  

如果無法分割,則輸出 0

程式輸入輸出格式要求:

程式先讀入兩個整數 m n 用空格分割 (m,n<10)

表示**的寬度和高度

接下來是n行,每行m個正整數,用空格分開。每個整數不大於10000

程式輸出:在所有解中,包含左上角的分割區可能包含的最小的格仔數目。

例如:使用者輸入:

3 310 1 52

20 30 1

1 2 3

則程式輸出:

3再例如:

使用者輸入:

4 31 1 1 1

1 30 80 2

1 1 1 100

則程式輸出:

10(參見p2.jpg)

資源約定:

峰值記憶體消耗 < 64m

cpu消耗  < 5000ms

請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入...」 的多餘內容。

所有**放在同乙個原始檔中,除錯通過後,拷貝提交該原始碼。

注意: main函式需要返回0

注意: 只使用ansi c/ansi c++ 標準,不要呼叫依賴於編譯環境或作業系統的特殊函式。

注意: 所有依賴的函式必須明確地在原始檔中 #include , 不能通過工程設定而省略常用標頭檔案。

提交時,注意選擇所期望的編譯器型別。

思路:我用的dfs,從左上角出發,可以往上下左右四個方向走,然後累加到和為sum/2時返回,每次找到一條路線就比較一下步數,記錄下最小的步數。但是實際上這種做法是有問題的,因為dfs相當於一筆畫成,所以t型十字型這種都是dfs搜尋不到的,還有這種dfs也做不到最後一定是兩塊連通的區域,下面給出不能解決的情況的示意圖,然而菜雞的我並不知道怎麼解決……不過藍橋的後台測試資料很水,我這個寫法的**也是可以全通過的。

第四屆藍橋杯省賽C A組 大臣的旅費

很久以前,t王國空前繁榮。為了更好地管理國家,王國修建了大量的快速路,用於連線首都和王國內的各大城市。為節省經費,t國的大臣們經過思考,制定了一套優秀的修建方案,使得任何乙個大城市都能從首都直接或者通過其他大城市間接到達。同時,如果不重複經過大城市,從首都到達每個大城市的方案都是唯一的。j是t國重要...

藍橋杯 剪格仔 第四屆藍橋杯A組第九題

藍橋杯 剪格仔 第四屆藍橋杯a組第九題 如圖p1.jpg所示,3 x 3 的格仔中填寫了一些整數。我們沿著圖中的紅色線剪開,得到兩個部分,每個部分的數字和都是60。本題的要求就是請你程式設計判定 對給定的m x n 的格仔中的整數,是否可以分割為兩個部分,使得這兩個區域的數字和相等。如果存在多種解答...

第四屆藍橋杯省賽C A組 買不到的數目

小明開了一家糖果店。他別出心裁 把水果糖包成4顆一包和7顆一包的兩種。糖果不能拆包賣。小朋友來買糖的時候,他就用這兩種包裝來組合。當然有些糖果數目是無法組合出來的,比如要買 10 顆糖。你可以用計算機測試一下,在這種包裝情況下,最大不能買到的數量是17。大於17的任何數字都可以用4和7組合出來。本題...