题解

1 条题解

  • 1
    @ 2022-09-01 20:25:06
    #include<iostream>
    using namespace std;
    int a[21][21],c[21],num,n;
    bool b[21];
    void dfs(int x)
    {
    
    for(int i=1;i<=n;i++)
          if(a[x][i]&&!b[i])
          {
           c[++num]=i;
           b[i]=1;
           dfs(i);
          }
    }
    int main()
    {
    
    cin>>n;
    for(int i=1;i<=n;i++) 
    for(int j=1;j<=n;j++)
      cin>>a[i][j];
    
    for(int i=1;i<=n;i++)
    if(!b[i]) {
    c[++num]=i;
    b[i]=1;
    dfs(i);
    } 
    
       for(int i=1;i<=num-1;i++)
       cout<<c[i]<<"-"; 
       
       cout<<c[num];
       return 0;
    } 
    
  • 1

信息

ID
1616
难度
6
分类
搜索 点击显示
标签
递交数
1
已通过
1
通过率
100%
上传者