藍橋杯 2023年第四屆真題 剪格仔

2021-09-12 08:19:41 字數 1394 閱讀 4995

時間限制: 1sec 記憶體限制: 128mb 提交: 781 解決: 272

題目描述

歷屆試題  剪格仔  

時間限制:1.0s     記憶體限制:256.0mb 

問題描述 

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

+--*--+--+ 

|10*  1|52| 

+--****--+ 

|20|30*  1| 

*******--+ 

|  1|  2|  3| 

+--+--+--+  

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

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

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

如果無法分割,則輸出  0。 

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

表示**的寬度和高度。 

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

輸出輸出乙個整數,表示在所有解中,包含左上角的分割區可能包含的最小的格仔數目。 

樣例輸入

3  3 

10  1  52 

20  30  1 

1  2  3 

樣例輸出

提示

解題思路:dfs

但有乙個特殊情況 如下圖  這種情況 被起始點分成了兩部分 ,若直接dfs  會出錯;

所以得對起始點做做文章 看看**就懂了 也即是 將起始點 取用後,再次dfs   到他時 格仔數量和置都不增加即可。

#include int a[10][10];//存值

int b[10][10];//標記陣列

int count=100;

int m,n,sum=0;

int dx[4]=;

int dy[4]=;

void f(int s,int i,int j,int bs)}}

}int main()

if(sum%2==1)printf("0");//預判是否可以分兩部分

else

return 0;

}

藍橋杯2023年第四屆真題剪格仔

問題 1432 藍橋杯 2013年第四屆真題 剪格仔 時間限制 1sec 記憶體限制 128mb 題目描述 歷屆試題 剪格仔 時間限制 1.0s 記憶體限制 256.0mb 問題描述 如下圖所示,3 x 3 的格仔中填寫了一些整數。10 1 52 20 30 1 1 2 3 我們沿著圖中的星號線剪開...

藍橋杯 2023年第四屆真題 剪格仔

如下圖所示,3 x 3 的格仔中填寫了一些整數。10 1 52 20 30 1 1 2 3 我們沿著圖中的星號線剪開,得到兩個部分,每個部分的數字和都是60。本題的要求就是請你程式設計判定 對給定的m x n 的格仔中的整數,是否可以分割為兩個部分,使得這兩個區域的數字和相等。如果存在多種解答,請輸...

藍橋杯 2023年第四屆真題 剪格仔

時間限制 1sec 記憶體限制 128mb 提交 781 解決 272 題目描述 歷屆試題 剪格仔 時間限制 1.0s 記憶體限制 256.0mb 問題描述 如下圖所示,3 x 3 的格仔中填寫了一些整數。10 1 52 20 30 1 1 2 3 我們沿著圖中的星號線剪開,得到兩個部分,每個部分的...