diff --git a/Code Sheets/Graph/Number of Islands.txt b/Code Sheets/Graph/Number of Islands.txt new file mode 100644 index 0000000..96d5ff0 --- /dev/null +++ b/Code Sheets/Graph/Number of Islands.txt @@ -0,0 +1,48 @@ +#include +using namespace std; + +bool isVisited[500][500] = {false}; //array to keep track of visited nodes +int n,m; //no. of rows and columns +int a[500][500]; //input matrix +int islandCount=0; //number of islands + +void dfs(int x, int y){ + isVisited[x][y] = true; + + //utility arrays to make the traversing easy + int posX[] = {-1, -1, -1, 0, 0, 1, 1, 1}; + int posY[] = {-1, 0, 1, -1, 1, -1, 0, 1}; + + for(int i=0; i<8; i++){ + int p = x+posX[i], q = y+posY[i]; + if(p>=0 && p=0 && q>n>>m; + for(int i=0; i