USACO-2008-Cow Contest
来源:互联网 发布:windows高级选项菜单 编辑:程序博客网 时间:2024/06/07 08:25
Cow Contest(牛大赛)
题目来源:USACO
评测网站:https://www.luogu.org/problem/show?pid=2419
题目描述:FJ的N(1 <= N <= 100)头奶牛们最近参加了场程序设计竞赛:)。在赛场上,奶牛们按1..N依次编号。每头奶牛的编程能力不尽相同,并且没有哪两头奶牛的水平不相上下,也就是说,奶牛们的编程能力有明确的排名。 整个比赛被分成了若干轮,每一轮是两头指定编号的奶牛的对决。如果编号为A的奶牛的编程能力强于编号为B的奶牛(1 <= A <= N; 1 <= B <= N; A != B) ,那么她们的对决中,编号为A的奶牛总是能胜出。 FJ想知道奶牛们编程能力的具体排名,于是他找来了奶牛们所有 M(1 <= M <= 4,500)轮比赛的结果,希望你能根据这些信息,推断出尽可能多的奶牛的编程能力排名。比赛结果保证不会自相矛盾。
输入格式:第1行:2个用空格隔开的整数:N 和 M——第2..M+1行:每行为2个用空格隔开的整数A、B,描述了参加某一轮比赛的奶牛的编号,以及结果(编号为A,即为每行的第一个数的奶牛为胜者)
输出格式:第1行: 输出1个整数,表示排名可以确定的奶牛的数目
输入样例:
5 54 34 23 21 22 5
输出样例:
2
思路:由于要确定一个奶牛的排名,就相当于要知道其他N-1只奶牛和该奶牛的排名关系,直接或者是间接。
例如样例中,所知的两只奶牛的排名分别就是2与5,可见,1、3、4三只奶牛都是直接胜过奶牛2,而且奶牛2胜过奶牛5,得知其排在第四位,而第五位就只能是奶牛5。当然,奶牛5的排名也可以由其单独分析的,由于只有奶牛2是直接胜过奶牛5的,但其余都是通过胜过2从而得知其必然胜过5。
将整个问题转化,就变成了求一个结点,到其他四个结点是否有一条路相连(注意题目之中给出的关系都是单向的,也就是有向图;而这里要求的是无向的,毕竟只要知道是否有关系就可以),如果都有,则计数器+1,最后输出总个数。
题解如下:
#include<bits/stdc++.h>using namespace std;int sum,n,m,i,j,k,yuanzhan[101][101],a,b;bool f;int main(){cin>>n>>m;for(i=1;i<=n;i++){for(j=1;j<=n;j++){yuanzhan[i][j]=1e9;}}for(i=1;i<=m;i++){cin>>a>>b;yuanzhan[a][b]=1;}for(k=1;k<=n;k++){for(i=1;i<=n;i++){for(j=1;j<=n;j++){yuanzhan[i][j]=min(yuanzhan[i][j],yuanzhan[i][k]+yuanzhan[k][j]);}}}for(i=1;i<=n;i++){f=0;for(j=1;j<=n;j++){if (i!=j){if (yuanzhan[i][j]==1e9 && yuanzhan[j][i]==1e9){f=1;break;}}}if (!f) sum++;}cout<<sum;return 0;}
Thanks for watching.- USACO-2008-Cow Contest
- 【USACO】2008 Jan Cow Contest 奶牛比赛
- 【BZOJ 1612】【Usaco 2008 Jan】Cow Contest奶牛的比赛(传递闭包)
- Cow Contest
- Cow Contest
- Cow Contest
- Cow Contest
- Cow Contest
- 【USACO Contest】Holiday 2010 Bonus Competition, Problem 1: Cow Politics (cowpol)
- poj 3660 Cow Contest
- POJ3660 Cow Contest
- POJ 3660 Cow Contest
- POJ 3660 Cow Contest
- poj 3660 Cow Contest
- POJ-3660-Cow Contest
- poj-3660 cow contest
- POJ 3660 Cow Contest
- poj 3660 Cow Contest
- Hibernate 5;org.hibernate.MappingException: Unknown entity: com.my.model.User
- django基础知识
- SVM分类器的实现(包括交叉验证选择参数,Dlib,可视化)
- 【机器学习入门】Andrew NG《Machine Learning》课程笔记之二 :基本概念、代价函数、梯度下降和线性回归
- C++退出函数exit
- USACO-2008-Cow Contest
- 最大子序列数,只测试了几组数据,求大佬指点
- 【SpringBoot】1.SpringBoot介绍
- 【java.lang.UnsupportedClassVersionError】版本不一致出错
- 自定义注解
- RocketMQ多master多SLAVE配置
- convert G:/fs:ntfs
- Java eclipse 项目svn忽略不需要提交的文件
- hdu 1252