POJ
来源:互联网 发布:js调用高德地图api 编辑:程序博客网 时间:2024/06/15 07:10
problem:http://poj.org/problem?id=3660
题意:n个奶牛,给你m对奶牛互相胜负的关系,让求有多少奶牛的名次可以确定。
思路:如果这个奶牛,意即这个奶牛和其他n-1个奶牛的关系已经确定,所以我们只需要count多少奶牛符合这种条件。
如果要确定没有直接胜负关系的奶牛们,要用floyd算法确定各奶牛间的关系。
代码:
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N = 100+5;int a[N],d[N][N];void floyd(int n){ 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(){ int n,m; cin>>n>>m; for(int i = 1;i <= n;i++) for(int j = 1;j <= n;j++) d[i][j] = 0; int u,v; for(int i = 1;i <= m;i++) { scanf("%d%d",&u,&v); d[u][v] = 1; } floyd(n); int ans = 0,cnt; for(int i = 1;i <= n;i++) { cnt = 0; for(int j = 1;j <= n;j++) if(d[i][j] || d[j][i]) cnt++; if(cnt == n-1) ans++; } cout<<ans<<endl; return 0;}
0 0
- POJ
- poj
- POJ
- POJ
- poj
- poj
- POJ
- POJ
- poj
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- Andrew Ng机器学习课程笔记
- php实现数据结构线性表(链式)
- 类和对象
- Blogs Links
- linux内核不发(Router Solicit)RS报文问题
- POJ
- URAL
- Opencv学习---霍夫变换检测圆的基本原理
- Bulbs 【模拟】or 【set】
- 第二部分 自动内存管理机制
- Spring学习-29:Spring中的事务管理之事务开发常用API的详解
- Xcode清理缓存和垃圾文件
- JSP (java server page) servlet生命周期
- Win10 将开启“游戏模式”