题意:题目给出了m对的相对关系,求有多少个排名是确定的。

链接:点我

如果这个点到其他点的关系是确定的,那么这个点就是确定的,注意如果这个点到不了其他点,但其他点能到这个点,那么这个点和其他点的关系是确定的

样例图:

aaarticlea/png;base64,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" alt="" />

 #include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<queue>
#include<map>
using namespace std;
#define MOD 1000000007
#define pb(a) push_back(a)
const int INF=0x3f3f3f3f;
const double eps=1e-;
typedef long long ll;
#define cl(a) memset(a,0,sizeof(a))
#define ts printf("*****\n");
const int MAXN=;
int n,m,tt,cnt;
int g[MAXN][MAXN];
int main()
{
int i,j,k;
#ifndef ONLINE_JUDGE
freopen("1.in","r",stdin);
#endif
while(scanf("%d%d",&n,&m)!=EOF)
{
int a,b;
cl(g);
for(i=;i<m;i++)
{
scanf("%d%d",&a,&b);
g[a][b]=;
}
for(k=;k<=n;k++)
for(i=;i<=n;i++)
for(j=;j<=n;j++)
if(g[i][k]==&&g[k][j]==) g[i][j]=;
int tot=;
for(i=;i<=n;i++)
{
bool flag=;
for(j=;j<=n;j++)
{
if(i==j) continue;
if(g[i][j]==&&g[j][i]==)
{
flag=;
break;
}
}
if(flag)
{
tot++;
}
}
printf("%d\n",tot);
}
}

poj 3660 传递闭包 **的更多相关文章

  1. POJ 3660 Cow Contest / HUST 1037 Cow Contest / HRBUST 1018 Cow Contest(图论,传递闭包)

    POJ 3660 Cow Contest / HUST 1037 Cow Contest / HRBUST 1018 Cow Contest(图论,传递闭包) Description N (1 ≤ N ...

  2. POJ 3660—— Cow Contest——————【Floyd传递闭包】

    Cow Contest Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit  ...

  3. POJ - 3660 Cow Contest 传递闭包floyed算法

    Cow Contest POJ - 3660 :http://poj.org/problem?id=3660   参考:https://www.cnblogs.com/kuangbin/p/31408 ...

  4. poj 3660 Cow Contest(传递闭包 Floyd)

    链接:poj 3660 题意:给定n头牛,以及某些牛之间的强弱关系.按强弱排序.求能确定名次的牛的数量 思路:对于某头牛,若比它强和比它弱的牛的数量为 n-1,则他的名次能够确定 #include&l ...

  5. POJ 3660 Cow Contest【Floyd 传递闭包】

    传送门:http://poj.org/problem?id=3660 题意:有n头牛, 给你m对关系.(a, b)表示牛a能打败牛b, 求在给出的这些关系下, 能确定多少头牛的排名. 传递闭包: 关系 ...

  6. POJ 3660 Cow Contest(传递闭包floyed算法)

    Cow Contest Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5989   Accepted: 3234 Descr ...

  7. (poj 3660) Cow Contest (floyd算法+传递闭包)

    题目链接:http://poj.org/problem?id=3660 Description N ( ≤ N ≤ ) cows, conveniently numbered ..N, are par ...

  8. POJ 3660 Cow Contest 传递闭包+Floyd

    原题链接:http://poj.org/problem?id=3660 Cow Contest Time Limit: 1000MS   Memory Limit: 65536K Total Subm ...

  9. poj 3660 Cow Contest (传递闭包)

    /* floyd 传递闭包 开始Floyd 之后统计每个点能到的或能到这个点的 也就是他能和几个人确定胜负关系 第一批要有n-1个 然后每次减掉上一批的人数 麻烦的很 复杂度上天了.... 正难则反 ...

随机推荐

  1. bzoj千题计划296:bzoj1053: [HAOI2007]反素数ant

    http://www.lydsy.com/JudgeOnline/problem.php?id=1053 求n以内约数个数最多的数 #include<cstdio> using names ...

  2. 蓝桥杯 带分数 DFS应用

    问题描述 100 可以表示为带分数的形式:100 = 3 + 69258 / 714. 还可以表示为:100 = 82 + 3546 / 197. 注意特征:带分数中,数字1~9分别出现且只出现一次( ...

  3. Your Prediction Gets As Good As Your Data

    Your Prediction Gets As Good As Your Data May 5, 2015 by Kazem In the past, we have seen software en ...

  4. NAT地址转换

    2017年1月12日, 星期四 NAT地址转换 SNAT:源地址转换  DNAT:目标地址转换   null

  5. spring Mvc Web 编码相关 [model 到 视图传递数据] (九)

    在某种编码环境,由bean注解的参数可能会发生乱码问题. 即可页面web.xml或其他地方都设备UTF-8, 但还是会有这样的问题. 首先不要使用model传到视图的数据. 第二,不要request. ...

  6. C++(vs)多线程调试 (转)

      在一个程序中,这些独立运行的程序片断叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”.利用线程,用户可按下一个按钮,然后程序会立即作出响应,而不是让用户等待程序完成了当前任务以后 ...

  7. 各浏览器 position: fixed 造成的bug 通用解决办法,Safari, iOS

    将原来使用 position: fixed  的元素外层包裹一个 div.fixedWrapper .fixedWrapper { width: 100%; overflow: hidden; pos ...

  8. SqlMapConfig.xml全局配置文件介绍——(四)

    ----------mybatis的全局配置文件SqlMapConfig.xml,配置内容如下:----------- properties(属性) settings(全局配置参数) typeAlia ...

  9. 解读Android LOG机制的实现【转】

    转自:http://www.cnblogs.com/hoys/archive/2011/09/30/2196199.html http://armboard.taobao.com/ Android提供 ...

  10. Go语言之Windows 10开发工具LiteIDE初步使用

    Intel Core i5-8250U,Windows 10家庭中文版,go version go1.11 windows/amd64,LiteIDE X34.1 在RUNOOB.COM的Go语言教程 ...