gha890826

LeetCode-547

Dec 12th, 2019 (edited)
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.01 KB | None | 0 0
  1. // leetcode_547.cpp : 定義主控台應用程式的進入點。
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include <iostream>
  6. #include <vector>
  7. using namespace std;
  8. void visit(vector<vector<int>>&, vector<bool>&, int);
  9. int findCircleNum(vector<vector<int>>&);
  10.  
  11. int findCircleNum(vector<vector<int>>& M)
  12. {
  13.     int ans = 0;
  14.     vector<bool> is_visit(M.size(), 0);
  15.     //vector<vector<int>> list;
  16.     for (int i = 0; i < M.size(); i++)
  17.     {
  18.         if (is_visit[i] == false)
  19.         {
  20.             visit(M, is_visit, i);
  21.             ans++;
  22.         }
  23.     }
  24.     return ans;
  25. }
  26.  
  27. void visit(vector<vector<int>>& M,vector<bool>& is_visit, int v)
  28. {
  29.     is_visit[v] = 1;
  30.     for (int i = 0; i < M.size(); i++)
  31.     {
  32.         if (M[v][i] == 1 && is_visit[i] == 0)
  33.         {
  34.             visit(M, is_visit, i);
  35.         }
  36.     }
  37. }
  38.  
  39. int main()
  40. {
  41.     vector < vector < int >> in1 =
  42.     { { 1, 1, 0 },
  43.     { 1, 1, 0 },
  44.     { 0, 0, 1 } };
  45.  
  46.     vector < vector < int >> in2 =
  47.     { { 1, 1, 0 },
  48.     { 1, 1, 1 },
  49.     { 0, 1, 1 } };
  50.  
  51.     cout << "ans is:" << findCircleNum(in1) << endl;
  52.     cout << "ans is:" << findCircleNum(in2) << endl;
  53.     return 0;
  54. }
Add Comment
Please, Sign In to add comment