zoukankan      html  css  js  c++  java
  • bzoj 2208 [Jsoi2010]连通数

    2208: [Jsoi2010]连通数

    Time Limit: 20 Sec  Memory Limit: 512 MB

    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

    Tips:

      此题没话讲。

    Code:

    #include<bits/stdc++.h>
    using namespace std;
    
    int n,m,ans=0;
    char s[2008];
    std::bitset<2008>f[2008];
    
    int main(){
        scanf("%d",&n);
        for(int i=0;i<n;i++){
            scanf("%s",s);
            for(int j=0;j<n;j++)
                if(i==j) f[i][j]=1; else f[i][j]=s[j]-48;
        }
        for(int i=0;i<n;i++)
            for(int j=0;j<n;j++)
                if(f[j][i]){
                    f[j]=f[j]|f[i];
                }
        for(int i=0;i<n;i++)
            ans+=f[i].count();
        printf("%d
    ",ans);
    }
  • 相关阅读:
    Sql to Linq 小工具
    datagridview后台添加列
    datatable之distinct用法
    生成器
    函数练习一
    函数初识
    文件操作练习
    文件操作
    迭代器 递归
    基础数据类型上机题
  • 原文地址:https://www.cnblogs.com/WQHui/p/7535590.html
Copyright © 2011-2022 走看看