二維矩陣的一維訪問方式

2021-07-08 17:52:25 字數 568 閱讀 5732

hdu1045fire net

題意:點代表空地,x代表牆。問空地最多能放置多少個炮(炮能夠向上下左右四個方向打,但是牆打不穿),使互相攻擊不到?

簡單dfs,遞迴深度就是炮的個數,不過二維矩陣的訪問方式要變成一維的,從1到n*n的方式訪問,可以避免大量重複

#include

#include

#include

#include

using

namespace

std;

int n;

char g[10][10];

int vis[10][10];

void change(int x,int y,int key)

int ans;

void dfs(int cur,int dep)

}}int main()

memset(vis,0,sizeof(vis));

ans=0;

dfs(1,0);

printf("%d\n",ans);

}return

0;}

一維陣列與二維陣列的訪問方式

一維陣列中 a i 中的 a 代表了本陣列的首位址,相當於 a 0 因此 a 就等於 a 0 那麼對 a 加 1,就可以訪問下一位 a 1 就等於 a 1 訪問一維陣列的元素 a i a i 假設有 a 2 2 這樣乙個二維陣列,可以這麼理解它 a 由 a 0 a 1 a 2 構成,而 a 0 又由...

二維矩陣與二維矩陣之間的卷積

最近在學習數字影象處理 digital image processing,dip 這門課,感覺有些吃力。由於在數字訊號處理 digital singal processing,dsp 這門課中只學了一維矩陣之間的卷積運算。假設我們的卷積核h為kernel矩陣 33 待處理矩陣f x,y 為 55 h...

二維hash矩陣(一)

鏈結 思路 把a b矩陣 雜湊為數字 存到set 怎樣hash 先把每行字首 hash 掉用函式可以 求出區間hash值 include using namespace std typedef unsigned long long ll const ll n 1010 ll m,n,a,b,q ll...