最短路练习 8/poj/3660/Cow Contest
来源:互联网 发布:在线客服 java开源 编辑:程序博客网 时间:2024/05/20 01:12
Description
N (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating in a programming contest. As we all know, some cows code better than others. Each cow has a certain constant skill rating that is unique among the competitors.
The contest is conducted in several head-to-head rounds, each between two cows. If cow A has a greater skill level than cow B (1 ≤ A ≤ N; 1 ≤ B ≤ N; A ≠ B), then cow A will always beat cow B.
Farmer John is trying to rank the cows by skill level. Given a list the results of M (1 ≤ M ≤ 4,500) two-cow rounds, determine the number of cows whose ranks can be precisely determined from the results. It is guaranteed that the results of the rounds will not be contradictory.
Input
* Line 1: Two space-separated integers: N and M
* Lines 2..M+1: Each line contains two space-separated integers that describe the competitors and results (the first integer, A, is the winner) of a single round of competition: A and B
Output
* Line 1: A single integer representing the number of cows whose ranks can be determined
Sample Input
5 54 34 23 21 22 5
Sample Output
2题意:有n头牛,有m组关系,这m组关系不一定能得出所有的牛的排名,可能会有一些关系不确定,最多可以确定几头牛的排名。
思路:用Floyd:a>b,b>c 能得到a>c; a>b,c>b得不出a和c; 所以关系是单向的;
有关系的为1,没关系的为0;最后确定一头牛的排名确定不确定,看 他若与其它牛的关系都确定,排名则确定。
最后统计数量。
可惜了,我到最后统计数量的时候没想到这个方法。
AC代码:
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<cmath>#include<queue>#include<vector>#include<map>#include<string>#define LL long long#define eps 1e-8using namespace std;const int mod = 1e7+7;const int inf = 0x3f3f3f3f;const int maxn = 1e6 +10;int n,m,a,b;int ma[105][105];int main(){ while(~scanf("%d%d",&n,&m)) { memset(ma,0,sizeof(ma)); for(int i=0;i<m;i++) { scanf("%d%d",&a,&b); ma[a][b]=1; } for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) for(int k=1;k<=n;k++) if(ma[j][i]&&ma[i][k]) ma[j][k]=1; int sum,ans=0; for(int i=1;i<=n;i++) { sum=0; for(int j=1;j<=n;j++) if(ma[i][j]||ma[j][i]) sum++; if(sum==n-1) ans++; } printf("%d\n",ans); }}
- 最短路练习 8/poj/3660/Cow Contest
- POJ 3660 Cow Contest 最短路floyd
- poj 3660 Cow Contest(最短路floyd)
- POJ 3660 Cow Contest(Floyd最短路)
- POJ-3660-Cow Contest [最短路][Floyd]
- poj 3660 Cow Contest ([kuangbin带你飞]专题四 最短路练习)
- 【最短路】 Cow Contest
- POJ 3660 Cow Contest (全源最短路)
- Floyd最短路——POJ 3360 Cow Contest
- 最短路(floyd) Cow Contest
- Cow Contest [最短路][floyd]
- Cow Contest(POJ 3660)(Floyd)(任意两点间最短路)
- POJ 3660 Cow Contest 最短路线
- 最短路练习4/poj/3268 /Silver Cow Party
- nyoj 211 Cow Contest 【最短路&&floyd】
- poj 3660 Cow Contest
- POJ 3660 Cow Contest
- POJ 3660 Cow Contest
- A20 uboot和kernel的编译环境和方法
- maven 打包 致命错误:在类路径或引导类路径中找不到软件包 java.lang
- PCA的数学原理(非常值得阅读)!!!!
- 浅谈React实现评论框(三)
- 火狐网页访问https提示安全连接失败
- 最短路练习 8/poj/3660/Cow Contest
- spring aop的五种通知类型(基于XML)
- 04_展示数据
- 20170424memo
- 题目1207:质因数的个数 九度OJ
- 如何 简单确定系统 合理的线程数
- SLAM for Dummies 数据关联中的问题
- npm搭建React项目
- sk_buff 学习笔记