試題 歷屆試題 剪格仔 dfs

2021-10-08 19:08:10 字數 844 閱讀 7767

題意:給乙個n*m的矩陣,用線分割成兩部分,兩部分數值的加和相同,可能有多種結果,輸出其中一種結果是包含左上角且這部分分割的塊數最小的數值。

思路:dfs都走一遍邊走邊判斷另一半與這一半的值是否相等,相等則更新含左上角的那部分數量。主要是通過標記走過,返回的時候還要再把標記和刪掉。

**

#include

using

namespace std;

typedef

long

long ll;

const

int n =

1e5+5;

int n,m,ans,cnt;

int a[15]

[15];

int vis[20]

[20];

int dir[4]

[2]=

,,,}

;int

check()

}}return sum;

}void

dfs(

int x,

int y,

int v)

for(

int i=

0; i<

4; i++)}

}int

main()

}dfs(0

,0,a[0][

0]);

if(ans!=

0x3f3f3f3f

)else

printf

("0\n");

return0;

}

歷屆試題 剪格仔 (DFS)

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

歷屆試題 剪格仔 dfs

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

歷屆試題 剪格仔

歷屆試題 剪格仔 時間限制 1.0s 記憶體限制 256.0mb 問題描述 如下圖所示,3 x 3 的格仔中填寫了一些整數。10 1 52 20 30 1 1 2 3 我們沿著圖中的星號線剪開,得到兩個部分,每個部分的數字和都是60。本題的要求就是請你程式設計判定 對給定的m x n 的格仔中的整數...