POJ-3660 Cow Contest (floyd+传递闭包)
来源:互联网 发布:傅红雪捏脸数据 编辑:程序博客网 时间:2024/05/19 14:16
题目大意:
题目大概就是说,有n头牛,对比m头牛后,能确定具体排名的牛的数量是多少
算法分析:
一开始我想着是不是用dijkstra算法做(已中毒),后来发现死活做不了,那我就去找博客看解析。 最后才发现只要用传递闭包做就行了,我稍微了解了一下传递闭包后,就跑去自己实现了,返现效果不是很理想。 于是又开始找传递闭包的实现,最后终于把传递闭包实现了出来= =。。。
代码实现:
#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>using namespace std;int n, m;int edge[110][110];int floyd(){ int count_ = 0; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { for (int k = 1; k <= n; k++) { if (edge[j][i] && edge[i][k]) { edge[j][k] = 1; } } } } for (int i = 1; i <= n; i++) { int tmp = 0; for (int j = 1; j <= n; j++) { if (edge[i][j]) tmp++; if (edge[j][i]) tmp++; } if (tmp == n-1) count_++; } return count_;}int main(){ int x, y; while (scanf("%d%d", &n, &m) != EOF) { for (int i = 1; i <= m; i++) { scanf("%d%d", &x, &y); edge[x][y] = 1; } printf("%d\n", floyd()); } return 0;}
0 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求传递闭包)
- 浅谈Java中的hashcode方法
- 国嵌实时监控系统代码笔记(四)采集端 gtk
- Qt中用QAxObject操作Excel
- Spring请求乱码
- HDU 1069 Monkey and Banana (DP)
- POJ-3660 Cow Contest (floyd+传递闭包)
- [BZOJ4196][NOI2015][树链剖分]
- Hibernate get和load区别
- 加载gif动画图片
- java 添加ctrl+shift快捷键
- laravel框架即点击改,批量删除,更新日志
- HashMap源码阅读
- hdu1422重温世界杯(小组赛B) 最长非负子序列
- 洛谷 P1967 货车运输