玄关
查看原帖
玄关
1004299
AlexSong楼主2024/7/13 22:51
#include<bits/stdc++.h>//本代码为DFS邻接表 
using namespace std;
int n,cnt;
vector<int> t[4000005];
bool flag[1005];

void dfs(int s)
{
    flag[s]=1;
    for(int i=0;i<t[s].size();i++)
    {
        int v=t[s][i];
        if(flag[v]==1)
        {
            continue;
        }
        else
        {
            cnt++;
        }
        dfs(v);
    }
}//DFS遍历 

int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            int c;
            cin>>c;
            t[i].push_back(c);
        }
    }//输出 
    for(int i=1;i<=n;i++)
    {
        dfs(i);
    }
    cout<<cnt;
    return 0;
}
2024/7/13 22:51
加载中...