17年杭電複試第三題

2021-10-23 05:49:28 字數 1396 閱讀 8178

【試題三】

有乙個 mn 的材料和乙個 st 的模板,從材料中切除模板,求最大能切出

來的模板的數量。

sample input:

3 4a b c d

c d a b

a c c d

2 2a b

c dsample out

2以下****:逃離地球的小小呆

#include

#include

#include

#include

using

namespace std;

#define mx 100

#define my 100

char map_a[mx]

[my]

;//儲存大圖

char map_b[mx]

[my]

;//儲存小圖

int m, n, s, t, ans;

//用來儲存大圖和小圖的長和寬

bool

judge

(char map[mx]

[my]

,int x,

int y)

void

search

(char map[mx]

[my]

,int x,

int y,

int max)

;for

(int i =

0; i < m; i++

)//初始化中間圖

for(

int j =

0; j < n; j++

) temp[i]

[j]= map[i]

[j];

for(

int i =

0; i < s; i++

)for

(int j =

0; j < t; j++

) temp[x + i]

[y + j]

='0'

;//把參與過匹配的地方標記為0

search

(temp, x + s, y, max +1)

;//確定取這一塊兒

search

(map, x +

1, y, max)

;//不取這一塊兒,按部就班繼續走

}else

search

(map, x +

1, y, max)

;//不匹配則按列走 }}

intmain()

搜尋順序示意圖:

2019杭電複試第四題

4.找朋友。假設a是b的朋友,那麼b也是a的朋友,c與b為朋友,則c與a也為朋友,另外,自己與自己也是朋友。輸入乙個數n,代表人數,緊接著輸入乙個n n的矩陣,1代表兩個人是朋友,0代表兩個人不是朋友。求有幾個朋友圈。ps 演算法筆記p332 有道類似的題 例 input 該問題是乙個無向圖尋找連通...

杭電計算機研究生複試2023年第二題

給乙個數字矩陣,如果上下左右中數值相同,則表示乙個連通區域,求矩陣中聯通區域的數量 輸入 行列數,矩陣 輸出 連通域的數量 思路 用bfs遍歷 include includeusing namespace std const int maxn 100 int n,m int matrix maxn ...

BIT2023年上機第三題

題目要求 解題思路 剛開始我以為這道題很簡單,只需要更具層次就可以找到領導關係,後來才意識到乙個層次可能有多個人。所以一定要找到它的直接領導,而直接領導又是離自己最近的上一層的乙個人,所以可以根據這個思路來找到領導,實際上有點取巧的性質,但是學以致用,能用方為王道,嘻嘻 如下 include inc...