Poj 3660 Cow Contest (传递闭包 Floyd算法变形)
来源:互联网 发布:淘宝店铺上新微淘描述 编辑:程序博客网 时间:2024/06/10 20:27
题目链接:http://poj.org/problem?id=3660
题意:有n头牛比赛,m种比赛结果,最后问你一共有多少头牛的排名被确定了,其中如果a战胜b,b战胜c,则也可以说a战胜c,即可以传递胜负。求能确定排名的牛的数目。
思路:Floyd算法变形,关于传递闭包网上没有搜到能看懂的资料……不过大致可以理解是什么意思。感觉思路很巧妙。
解法完全参照了:http://www.cnblogs.com/pushing-my-way/archive/2012/08/23/2652153.html
#include <cstdio>#include <cstring>bool map[105][105];int n,m;void Floyd (){for (int i=1;i<=n;i++)for (int j=1;j<=n;j++)for (int k=1;k<=n;k++)map[j][k]=map[j][k] || map[j][i] && map[i][k];}int main (){while (~scanf("%d%d",&n,&m)){memset(map,false,sizeof(map));while (m--){int u,v;scanf("%d%d",&u,&v); map[u][v]=true;}Floyd ();int ans=0,cnt=0;for (int i=1;i<=n;i++){cnt=0;for (int j=1;j<=n;j++)if (i==j) continue;else if (map[i][j] || map[j][i])cnt++;if (cnt==n-1) //出度+入度=n-1;ans++;}printf("%d\n",ans);}return 0;}
- Poj 3660 Cow Contest (传递闭包 Floyd算法变形)
- poj 3660 Cow Contest floyd 传递闭包!!基础
- poj 3660 Cow Contest ----floyd 传递闭包
- POJ 3660 Cow Contest (Floyd 传递闭包)
- POJ 3660 Cow Contest-floyd传递闭包
- POJ 3660 Cow Contest.(Floyd,传递闭包).
- POJ 3660 Cow Contest(Floyd传递闭包)
- poj 3660 Cow Contest(传递闭包 Floyd)
- POJ 3660 &&NYOJ 211 Cow Contest(Floyd传递闭包)
- POJ 3660 Cow Contest(floyd传递关系闭包)
- POJ 3660 Cow Contest(floyd传递闭包)
- POJ 3660 Cow Contest (Floyd 传递闭包)
- POJ 3660 Cow Contest (Floyd求传递闭包)
- POJ - 3660 - Cow Contest (floyd求传递闭包)
- Floyd传递闭包-POJ-3660-Cow Contest
- 【poj】3660 Cow Contest【floyd传递闭包】
- POJ-3660 Cow Contest (floyd+传递闭包)
- POJ 3660 Cow Contest(Floyd求传递闭包)
- DNA对比 蓝桥杯决赛题目
- Netfilter框架
- 全是老古董:俄罗斯程序员收藏的8080处理器
- linux下解压windows下的rar文件
- ROS探索总结(十二)——坐标系统
- Poj 3660 Cow Contest (传递闭包 Floyd算法变形)
- Android cursor
- 尾递归以及编译器优化
- Ubuntu 使用
- hdu 1558 Segment set(并查集+线段相交)
- 经典SQL语句大全
- 测试
- android 创建快捷方式
- 真正的小说 真正的生活 真正的蜕变 真正的品味