void DFS(vector<vector<int>>&; a,vector<int>&; next,int i,int n) { next[i] = 1; for (int j = 0; j < n; j++) { if (a[i][j] == 1) if (next[j] != 1) DFS(a,next,j, n); } } int printk(vector<vector<int>> a) { int k=0; int n = a.size(); vector<int> next(n,0); for (int i = 0; i < n; i++) { if (next[i] != 1) { DFS(a,next,i, n); k++; //执行一次DFS就是k的值自增1, } } return k; } //自己写第一题

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务