zoukankan      html  css  js  c++  java
  • POJ 3660 Cow Contest

    http://poj.org/problem?id=3660

    题意:农场主想看看在自己的牛之中哪头牛比较厉害,所以就让他们彼此间进行打架了。(大黑牛:咱们来干一架吧) 若 A KO B,  B KO C, 那么 A 一定能 KO C。 给你几场比赛下来后的结果, 让你确定有几头牛的排位可以确定。

    分析:若 A总共 KO其他牛的次数 加上被 其他牛 KO 的次数为 N -1, 那么名次一定能够确定   <传递闭包>这个名词第一次在我的人生中出现了 (%>_<%)

    #include<stdio.h>
    #include<string.h>
    #include<math.h>
    #include<queue>
    #include<algorithm>
    using namespace std;
    
    #define maxn 110
    #define oo 0x3f3f3f3f
    int maps[maxn][maxn];
    
    int main()
    {
        int n, m, a, b;
    
        scanf("%d %d", &n, &m);
    
        memset(maps, 0, sizeof(maps));
    
        for(int i=1; i<=m; i++)
        {
            scanf("%d %d", &a, &b);
            maps[a][b] = 1;
        }
    
        for(int k=1; k<=n; k++)
        {
            for(int i=1; i<=n; i++)
            {
                for(int j=1; j<=n; j++)
                {
                    if(maps[i][k] && maps[k][j])//若A赢B,B赢C,那么A赢C
                        maps[i][j] = 1;
                }
            }
        }
    
        int ans = 0;
    
        for(int i=1; i<=n; i++)
        {
            int k = 1;
            for(int j=1; j<=n; j++)
            {
                k += maps[i][j]+maps[j][i];//判断A被某某牛KO加上A KO某些牛总共的次数是否为N-1
            }
            if(k == n)
                ans ++;
        }
    
        printf("%d
    ", ans);
        return 0;
    }
    View Code
  • 相关阅读:
    面向对象
    标准库内置模块
    json迭代器生成器装饰器
    基本数据操作
    列表元组字典字符串操作
    深入了解Spring之IoC
    认识OAuth 2.0及实例
    web.xml中context-param和init-param的区别
    虚拟机centos6网卡配置及提示Device does not seem to be present
    JUC之深入理解ReentrantReadWriteLock
  • 原文地址:https://www.cnblogs.com/daydayupacm/p/5697913.html
Copyright © 2011-2022 走看看