zoukankan      html  css  js  c++  java
  • POJ 3660 Floyd传递闭包

    题意:牛有强弱,给出一些牛的强弱的胜负关系,问可以确定几头牛的排名。
    思路:
    Floyd传递闭包

    // by SiriusRen
    #include <bitset>
    #include <cstdio>
    using namespace std;
    #define f(x) for(int x=1;x<=n;x++)
    bitset<105>map[105];
    int n,m,jyx,jyy,ans=0;
    int main(){
        scanf("%d%d",&n,&m);
        for(int i=1;i<=m;i++)scanf("%d%d",&jyx,&jyy),map[jyx][jyy]=1;
        f(k)f(i)f(j)if(map[i][k]&map[k][j])map[i][j]=1;
        f(i){
            int temp=0;
            f(j)if(i!=j&&map[i][j]|map[j][i])temp++;
            if(temp==n-1)ans++;
        }
        printf("%d",ans);
    }

    这里写图片描述

  • 相关阅读:
    Mysql优化之Explain查询计划查看
    map转listmap
    代码大全
    cas
    日志
    xml模板
    springboot
    日志
    spring应用
    拆分表中sheet
  • 原文地址:https://www.cnblogs.com/SiriusRen/p/6532350.html
Copyright © 2011-2022 走看看