zoukankan      html  css  js  c++  java
  • (暴力) bzoj 2208

    2208: [Jsoi2010]连通数

    Time Limit: 20 Sec  Memory Limit: 512 MB
    Submit: 1500  Solved: 612
    [Submit][Status][Discuss]

    Description

    Input

    输入数据第一行是图顶点的数量,一个正整数N。 接下来N行,每行N个字符。第i行第j列的1表示顶点i到j有边,0则表示无边。

    Output

    输出一行一个整数,表示该图的连通数。

    Sample Input

    3
    010
    001
    100

    Sample Output

    9

    HINT

    对于100%的数据,N不超过2000。

    Source

     
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<cmath>
    #include<vector>
    using namespace std;
    vector<int> e[2010];
    int n;
    char s[2010];
    bool vis[2010];
    int ans;
    void dfs(int u)
    {
        vis[u]=1;
        ans++;
        for(int i=0;i<e[u].size();i++)
        {
            int v=e[u][i];
            if(!vis[v])
            {
                dfs(v);
            }
        }
    }
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%s",s+1);
            for(int j=1;j<=n;j++)
            {
                if(s[j]=='1')
                    e[i].push_back(j);
            }
        }
        for(int i=1;i<=n;i++)
        {
            memset(vis,0,sizeof(vis));
            dfs(i);
        }
        printf("%d
    ",ans);
        return 0;
    }
    

      

  • 相关阅读:
    lists 函数整理
    orddict 练习
    github 的使用
    wxListCtrl 例子 二
    Erlang eunit
    Erlang 中 Tuple 使用 以及 List 模块意外
    Erlang Json
    模块和包
    Mysql作为zabbix数据库ibdata1文件太高解决
    用户管理和数据库安全
  • 原文地址:https://www.cnblogs.com/water-full/p/4527043.html
Copyright © 2011-2022 走看看