poj 3660 传递闭包 **
题意:题目给出了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 传递闭包 **的更多相关文章
- 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 ...
- POJ 3660—— Cow Contest——————【Floyd传递闭包】
Cow Contest Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit ...
- POJ - 3660 Cow Contest 传递闭包floyed算法
Cow Contest POJ - 3660 :http://poj.org/problem?id=3660 参考:https://www.cnblogs.com/kuangbin/p/31408 ...
- poj 3660 Cow Contest(传递闭包 Floyd)
链接:poj 3660 题意:给定n头牛,以及某些牛之间的强弱关系.按强弱排序.求能确定名次的牛的数量 思路:对于某头牛,若比它强和比它弱的牛的数量为 n-1,则他的名次能够确定 #include&l ...
- POJ 3660 Cow Contest【Floyd 传递闭包】
传送门:http://poj.org/problem?id=3660 题意:有n头牛, 给你m对关系.(a, b)表示牛a能打败牛b, 求在给出的这些关系下, 能确定多少头牛的排名. 传递闭包: 关系 ...
- POJ 3660 Cow Contest(传递闭包floyed算法)
Cow Contest Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5989 Accepted: 3234 Descr ...
- (poj 3660) Cow Contest (floyd算法+传递闭包)
题目链接:http://poj.org/problem?id=3660 Description N ( ≤ N ≤ ) cows, conveniently numbered ..N, are par ...
- POJ 3660 Cow Contest 传递闭包+Floyd
原题链接:http://poj.org/problem?id=3660 Cow Contest Time Limit: 1000MS Memory Limit: 65536K Total Subm ...
- poj 3660 Cow Contest (传递闭包)
/* floyd 传递闭包 开始Floyd 之后统计每个点能到的或能到这个点的 也就是他能和几个人确定胜负关系 第一批要有n-1个 然后每次减掉上一批的人数 麻烦的很 复杂度上天了.... 正难则反 ...
随机推荐
- angularJs的各种服务和指令的使用场景
$location服务,获取页面跳转带的参数 比如说页面是这样的 localhost:9102/admin/goods.html#?id=123 如何获取这个id=123的值呢?????(注意: ...
- 在android手机上通过Html5Plus调用java类。
关于html5plus的资料参考http://www.html5plus.org/ 最近通过html5做手机app,其中涉及到网络通过,必须采用原生的socket,websocket无法满足要求,ht ...
- 实现vue2.0响应式的基本思路
最近看了vue2.0源码关于响应式的实现,以下博文将通过简单的代码还原vue2.0关于响应式的实现思路. 注意,这里只是实现思路的还原,对于里面各种细节的实现,比如说数组里面数据的操作的监听,以及对象 ...
- [整理]ASP.NET MVC 5
1.入门 1.1官方资料 http://www.asp.net/mvc/overview/getting-started/introduction/getting-started 疑问: startu ...
- 20155232 2016-2017-3 《Java程序设计》第8周学习总结
20155232 2016-2017-3 <Java程序设计>第8周学习总结 教材学习内容总结 第十四章NIO与NIO2 NIO使用频道来衔接数据结点,在处理数据时,NIO可以让你设定缓冲 ...
- 20155321 2016-2017-2 《Java程序设计》第五周学习总结
20155321 2016-2017-2 <Java程序设计>第五周学习总结 教材学习内容总结 第八章 异常处理 Java提供特有的语句进行处理 try { 需要被检测的代码; } cat ...
- [游戏数据分析]WAU模型简介及WAU预测
声明:本博客中所采用的数据并非真实数据,会对真实数据加以变换,重在讨论游戏数据分析的思路. 这里是参考友盟的WAU模型[文章网址, 演示网址],利用某款游戏(以下称为游戏A)数据进行的分析. 作用: ...
- sublime text 3 开启卡顿(win7)解决办法
启动sublime3,ctrl+~打开命令窗口,输入以下 { "update<em>check": false, "font</em>size&q ...
- [整理] mysql操作
0.启动mysql(在windows中MySql以服务形式存在,在使用前应确保此服务已经启动) net start mysql 0.5获取版本信息 select version(); 1.root 登 ...
- AndroidManifest.xml中android:configChanges的简介
程序在运行时,一些设备的配置可能会改变,如:横竖屏的切换.键盘的可用性等,这样的事情一发生,Activity会重新启动,其中的过程是:在销毁之前会先 called onSaveInstanceStat ...