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;
    }
    
  • 相关阅读:
    JavaScript 作用域链与闭包
    JavaScript获取DOM节点
    memcache安装与简单介绍
    抽象工厂模式
    工厂模式
    适配器模式
    策略模式
    观察者模式
    责任链模式
    简单工厂模式
  • 原文地址:https://www.cnblogs.com/MyNameIsPc/p/7944372.html
Copyright © 2011-2022 走看看