zoukankan      html  css  js  c++  java
  • POJ 3660 Cow Contest (传递闭包)

    POJ 3660 Cow Contest (传递闭包)

    有n头牛比赛,m种比赛结果,把这些比赛结果告诉你(就是谁打败了谁的形式),最后问你一共有多少头牛的排名被确定了。n<=100。

    先用传递闭包求出每两个点的次序关系,一个点的次序是确定的,当且仅当它和所有点的次序都是确定的。所以这道题就是水题了。

    #include <cstdio>
    using namespace std;
    
    const int maxn=105, maxm=4505;
    int n, m, ans, f[maxn][maxn];
    
    int main(){
        scanf("%d%d", &n, &m); int x, y;
        for (int i=1; i<=m; ++i){
            scanf("%d%d", &x, &y);
            f[x][y]=1; }
        for (int k=1; k<=n; ++k)
        for (int i=1; i<=n; ++i)
            for (int j=1; j<=n; ++j)
                if (f[i][k]&f[k][j]) f[i][j]=1;
        for (int i=1; i<=n; ++i){
            int cnt=0;
            for (int j=1; j<=n; ++j)
                cnt+=f[i][j]|f[j][i];
            if (cnt>=n-1) ++ans;
        }
        printf("%d
    ", ans);
        return 0;
    }
    
  • 相关阅读:
    C#中Post和Get提交
    C#实现动态页面静态化
    瀑布流的实现
    jQuery常用方法验证
    eclipse配置PHP开发环境
    数据结构学习
    机器学习实战
    Leetcode_StringToInteger
    网络学习
    leetcode_前期心得
  • 原文地址:https://www.cnblogs.com/MyNameIsPc/p/7944372.html
Copyright © 2011-2022 走看看