【試題三】
有乙個 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...