Floyd_Warshall POJ 3660 Cow Contest
2015-11-30 21:26
489 查看
题目传送门
题意: m组关系,A能打败B,问最后有几头牛的排名能确定
分析:如果排名确定,那么能打败它的到它一定通,它到能打败的一定能通,也就是和为n-1.用Floyd的传递闭包
题意: m组关系,A能打败B,问最后有几头牛的排名能确定
分析:如果排名确定,那么能打败它的到它一定通,它到能打败的一定能通,也就是和为n-1.用Floyd的传递闭包
#include <cstdio> #include <algorithm> #include <cstring> using namespace std; const int N = 1e2 + 5; bool d ; int in ; int n, m; void Floyd_Warshall(void) { for (int k=1; k<=n; ++k) { for (int i=1; i<=n; ++i) { for (int j=1; j<=n; ++j) { d[i][j] = (d[i][j] || (d[i][k] && d[k][j])); } } } } int main(void) { while (scanf ("%d%d", &n, &m) == 2) { memset (d, false, sizeof (d)); memset (in, 0, sizeof (in)); for (int u, v, i=1; i<=m; ++i) { scanf ("%d%d", &u, &v); d[u][v] = true; in[v]++; } Floyd_Warshall (); int ans = 0; for (int i=1; i<=n; ++i) { int c1 = 0, c2 = 0; for (int j=1; j<=n; ++j) { if (i == j) continue; if (d[i][j]) c1++; if (d[j][i]) c2++; } if (c1 + c2 == n - 1) ans++; } printf ("%d\n", ans); } return 0; }
相关文章推荐
- Jsp基本知识
- PAT 1097. Deduplication on a Linked List (25)
- Jsp9大隐式对象
- Java数组操作集合
- Maven 版本管理
- java中native修饰符
- lucene5.3.1+IKAnalyer 构建简单搜索引擎
- 树的括号表示法(C语言版)
- 1071. Speech Patterns
- hdu 2041 超级楼梯
- 比较javascript中的appendChild()和jquery中的append() 才知道什么叫jqery真牛
- 2016旗舰处理器架构一览
- lucene5.3.1+IKAnalyer 构建简单搜索引擎
- 关于源码编译每次提示有错误 要make update-api
- JDBC(数据库)
- openfire源码分析---8
- android的EditText重新获取焦点问题
- PMI(Pointwise Mutual Information)
- Android 中 Handler 内存泄露解决办法实例
- JAVAWEB之自定义TAG开发