判斷給定的陣列 在 矩陣中是否相連

2021-10-02 02:39:50 字數 1267 閱讀 4767

在乙個5 * 5的矩陣中,給定乙個長度為 6的陣列,判定這陣列的值是否在矩陣中相連的,如

如矩陣:

int m[5][5] =,,

,,};給定陣列 [ 12, 3, 13, 23, 15, 14 ] ,輸出為 true

給定陣列 [ 12, 3, 13, 23, 14, 15 ] ,輸出為 true

給定陣列 [ 12, 3, 13, 23, 14, 25] ,輸出為 false

給定陣列 [ 12, 3, 13, 23, 14, 5] ,輸出為 false

下圖是相連的情況:

解:主要思路:若 a和b相連,b和c相連,則a和c也相連,將給定陣列元素相連通的放到一起,剩下還有,則不連通。

c++**:

#include

#include

using namespace std;

#define len 5

#define len1 6

bool findone(int p[len],int target) }

}return site;

}int findneb(int m[len],int site,int target)

else if((a+1) < 6 && m[a+1][b] == target)

else if((b-1) >= 0 && m[a][b-1] == target)

else if((b+1) < 6 && m[a][b+1] == target)

else

return site;int main(),,

,,};

int tmp[len1] = ;

int a = 0;

int len = 0;

while(cin >> a)

len = 0;

for(int i = 0; i < len1; i++)

cout

qsite.push(site);

tmp[0] = -1;

while(!qsite.empty())

}qsite.pop();

} // check the member no neb

bool flag = true;

for(int i = 0; i < len1; i++) }

cout<

}

判斷數X是否在矩陣中

原題 資料結構與演算法分析c 描述 第三版 練習2.27 問題描述 n n矩陣,每一行從左到右增加,每一列從上到下增加。給出o n 最壞情形演算法決定是否數x在該矩陣中。1 include2 include3 include4 include5 6using namespace std 78 int...

判斷座標是否在矩陣內

public void aaa string token new double new double new double bool isok isinpolygon new double 4,points if isok else public double inf 1e9 public doub...

NC判斷給定的鍊錶中是否有環

判斷給定的鍊錶中是否有環 擴充套件 你能給出空間複雜度o 1 的解法麼?題解 方法一 快慢指標法。慢指標一次走一步,快指標一次走兩步,如果有環,快慢指標總會在某一點相遇。方法二 類似雜湊法。遍歷鍊錶的每個節點,將其指標都指向head節點,如過存在環,則head一定會被再次訪問 package com...