POJ3660 Cow Contest(floyd)

【代码超详解】POJ 3660 Cow Contest(Floyd 算法(改),思维) 一、题目描述 二、算法分析说明与代码编写指导 本指导是根据 https://www.cnblogs.com/cenariusxz/p/4785217.html 改写的。 令 u 到 v 的有向边代表牛 u 胜牛 v。如果对一头牛,能够通过这样建立起来的图确定一定比它强的和一定比它弱的牛的数量加起来共有 n - 1 个,那么这头牛的总排名就唯一确定了。 对任意一头牛我们都要这样确定,可以考虑基于... 阅读详情

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 5
4 3
4 2
3 2
1 2
2 5

Sample Output

2



给出n头牛,m组数据。每一组数据前面的牛比后面的牛厉害。问你可以决定排名牛的数量。


floyd即可,如果可以确定排名则tmp等于n - 1。


AC代码:


#include "iostream"
#include "cstdio"
#include "cstring"
#include "algorithm"
using namespace std;
const int maxn = 105;
int n, m, map[maxn][maxn];
void floyd()
{
	for(int k = 1; k <= n; ++k)
		for(int i = 1; i <= n; ++i)
			for(int j = 1; j <= n; ++j)
				if(map[i][k] && map[k][j]) map[i][j] = 1;
}
int main(int argc, char const *argv[])
{
	while(scanf("%d%d", &n, &m) != EOF) {
		memset(map, 0, sizeof(map));
		for(int i = 0; i < m; ++i) {
			int a, b;
			scanf("%d%d", &a, &b);
			map[a][b] = 1;
		}
		floyd();
		int ans = 0;
		for(int i = 1; i <= n; ++i) {
			int tmp = 0;
			for(int j = 1; j <= n; ++j)
				tmp += (map[i][j] + map[j][i]);
			if(tmp == n - 1) ans++;			
		}
		printf("%d\n", ans);
	}
	return 0;
}


Cow Contest 有n头牛比赛,m种比赛结果,最后问你一共有多少头牛的排名被确定了,其中如果a战胜b,b战胜c,则也可以说a战胜c,即可以传递胜负。这样如果一头牛的被x头牛打败,打败y头牛,且x+y=n-1,则我们容易知道这头牛的排名就被确定了,所以我们只要将任何两头牛的胜负关系确定了,在遍历所有牛判断一下是否满足x+y=n-1,将满足这个条件的牛数目加起来就是所求解。 立即下载

相关推荐

【HSPiP应用指南】从理论到实践:如何利用汉森溶解度参数优化配方设计

本文深入解析了汉森溶解度参数(HSP)理论及其在配方设计中的核心价值,并详细介绍了如何利用HSPiP软件工具从理论走向实践。文章通过匹配溶解度参数、计算汉森距离(Ra),系统阐述了如何解决溶剂选择、颜料分散稳定性及扩散行为预测等关键问题,并结合界面气相色谱(IGC)等实验方法提升预测精度,旨在帮助配方师实现配方设计的可视化、可量化与高效优化。

weixin_29305313的博客 1645

POJ-3660 Cow Contest(Floyd-Warshall)

描述 N (1 ≤ N ≤ 100) 奶牛,方便编号 1…N,正在参加编程竞赛。众所周知,有些奶牛的编码比其他奶牛好。每头奶牛都有一定的恒定技能等级,这是竞争对手中独一无二的。 比赛分几轮进行,每轮在两头奶牛之间进行。如果牛A的技能水平高于牛B(1≤A≤N;1≤B≤N: A≠B),那么牛A将永远击败牛B。 农民约翰正试图按技能水平对奶牛进行排名。如果列出M(1≤M≤4500)双牛回合的结果,确定其排名可以从结果中精确确定的奶牛数量。 可以保证,回合的结果不会相互矛盾。 输入 第一行:两个空间分离整数:N和M

weixin_53623850的博客 456

生信入门(六)——单细胞分析(Seurat)

生信入门(六)——单细胞分析(Seurat) 文章目录生信入门(六)——单细胞分析(Seurat)一、数据导入1、数据来源2、数据导入二、标准预处理1、QC和选择细胞进行进一步分析2、规范化数据3、识别高度可变的特征(特征选择)4、缩放数据三、主成分分析(PCA)1、线性降维2、确定数据集的“维度”四、聚类细胞五、非线性降维(UMAP/tSNE)六、寻找差异表达的特征(簇生物标志物) 一、数据导入 1、数据来源 点击此处下载数据 数据说明:分析10X Genomics提供的外周血单细胞(PBMC)数据集,有

羊羊的博客 6万+

POJ-3660 Cow Contest

题目链接:https://vjudge.net/problem/POJ-3660 n头奶牛,给出一些两两之间哪头更厉害的信息,求能断定多少头奶牛的排名,有点拓扑排序的意思 思路是这样,只要确定比这头奶牛弱的个数和比这头奶牛强的个数加起来达到n-1,那么就可以确定这头奶牛的排名 想到这里,突然发现和之前ccf认证某个

wl16wzl的博客 1152

Rust Reqwest+Rustls 自签名证书校验

所以这里必须保证reqwest引用的rustls库和本地工程一致。以上就是实现不校验签名的逻辑,后续自己可以在对应回调进行逻辑判断。

bawomingtian123的专栏 1349

从课堂笔记到动手实践:用Multisim仿真高频谐振功放(丙类)的完整流程

本文详细介绍了使用Multisim仿真高频谐振功放(丙类)的完整流程,从仿真环境准备到电路搭建、偏置网络设计、信号注入与波形观测,再到效率优化与性能验证。通过14个关键操作步骤,帮助读者将高频电子线路的理论知识转化为动手实践,深入理解丙类功放的非线性工作状态和效率优化技巧。

weixin_30701575的博客 519

Cow Contest(floyd传递闭包)

In the age of television, not many people attend theater performances. Antique Comedians of Malidinesia are aware of this fact. They want to propagate theater and, most of all, Antique Comedies. They have printed invitation cards with all the necessary inf

Anthcony的博客 345

5G NR PDCCH实战解析:从DCI格式到CORESET配置的完整指南

本文深入解析5G NR PDCCH的实战配置,涵盖DCI格式选择、CORESET配置及Search Space优化等关键内容。基于3GPP R16标准,提供现网部署中的典型问题解决方案,如覆盖边缘失步、多用户调度冲突等,帮助提升控制信令传输效率。特别针对5G NR PDCCH的灵活资源分配和自适应编码机制进行详细探讨。

weixin_29231263的博客 497

Cow Contest奶牛的比赛

每头奶牛的编程能力不尽相同,并且没有哪两头奶牛的水平不相上下,也就是说,奶牛们的编程能力有明确的排名。FJ想知道奶牛们编程能力的具体排名,于是他找来了奶牛们所有 M(1 <= M <= 4,500)轮比赛的结果,希望你能根据这些信息,推断出尽可能多的奶牛的编程能力排名。如果编号为A的奶牛的编程能力强于编号为B的奶牛(1 <= A <= N;于是,编号为2的奶牛的排名必然为第4,编号为5的奶牛的水平必然最差。而编号为5的奶牛又输在了她的手下,也就是说,她的水平比编号为5的奶牛强一些。

Q210617的博客 278

从苏宁电器到卡巴斯基(第二部)第14篇:我在卡巴的日子 XIV

目录 WannaCry 我的感慨 邻里矛盾 WannaCry 如果大家对于科技互联网圈子的新闻比较感兴趣的话,相信会对2017年5月的“WannaCry勒索病毒”事件记忆犹新,因为这个病毒在当时的全世界范围内掀起了极大的波澜,众多的企事业单位深受其害,造成的金钱和数据损失难以估量,从某种意义上来说,它甚至引领了勒索病毒新一轮的爆发浪潮。而通过这样的一次爆发,也让我对于卡巴斯基的技术实力有了更进一步的了解。 我记得很清楚,爆发的那天是周六,没记错的话Seth那天有事,就请假没来,只有我自己在公司值

Gleam的专栏 4919

【算能】TPU(张量处理单元)的深度解析

算能(SOPHGO)作为国产AI芯片领域的核心企业,其TPU(张量处理单元)以高能效比与全场景覆盖能力为核心竞争力,专注于边缘计算与行业垂直领域的AI推理加速。

浩瀚之水的专栏 1545

POJ3660【Floyd】

传送门: http://poj.org/problem?id=3660 【分析】题目意思是输出有多少头牛的关系是确定的,有点传递闭包的意思,求每头牛与其他牛的关系,相当于每个点到其他点的最小距离,计算每一对顶点间的最短路径(folyd),如果这个点不能到达除自身外的所有点,那么就不能确定关系。 #include&lt;iostream&gt; #include&lt;cstring&gt; ...

Lily的博客 368

AI大模型入门到实战系列(二十一)命名实体识别(NER)

命名实体识别(NER)是自然语言处理中的关键任务,旨在从文本中识别并分类预定义类别的实体(如人名、地点、组织等)。其核心步骤包括文本预处理、实体边界检测和类型分类。主流技术方法经历了从基于规则、统计机器学习到深度学习的演进,当前主要采用预训练语言模型(如BERT)和序列标注技术(如BiLSTM-CRF)。关键技术挑战包括实体边界模糊、嵌套实体和领域适应等问题。NER广泛应用于信息抽取、搜索引擎优化和知识图谱构建等领域,常用精确率、召回率和F1值作为评估指标。实际应用中通常采用BIO标注体系,并通过标签对齐处

echo的博客 1622

POJ 3660 Cow Contest [Floyd]

F - Cow Contest POJ - 3660http://poj.org/problem?id=3660N (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating in a programming contest. As we all know, some cows code better than others.

WHITE ALBUM 377

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

POJ 3660 Cow Contest floyd

题目告诉你有n个人参与1v1比赛,总共进行m次两两solo,实力取胜且每个人实力各不相同,问你最后有多少人的实力可以确定。 要确定一个人的实力,只要知道他和其它n-1个人得到输赢关系即可,又因为 如果a赢b,b赢c,那么a肯定赢c,反之同理。所以我们可以用floyd算法更新所有人与其他人的胜负关系。 AC代码: int n, m; int mp[MAX][MAX]; int main() { ...

陈颜的博客 5231

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

POJ 3660 Cow Contest【传递闭包 Floyd变形】

POJ 3660 Cow Contest 题目链接:vjudge传送门 题目大意: 给定n个数,并且给定m组任意两个数之间的关系,例如4个数,a>b,d>c,b>c, 若将四个数的大小排序,能确定排名的有几数 具体思路: 若一个数能确定有多少个数大于它,以及多少个数小于他,那么就可以确定该数的排名 因此可以建立正、反向图,求出每个数的出度和入度,最后相加判断总度是否为n-1,是则...

指弹键盘哼民谣 523

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【POJ 3660 --- Cow Contest】Floyd

【POJ 3660 --- Cow Contest】Floyd 题目来源:点击进入【POJ 3660 — Cow Contest】 Description N (1 ≤ N ≤ 100) cows, conveniently numbered 1…N, are participating in a programming contest. As we all know, some cows cod...

来日浅谈的博客 439

poj3660Cow Contest_Floyd传递闭包

poj3660Cow Contest:http://poj.org/problem?id=3660 Cow Contest Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8991   Accepted: 5050 Description N (1 ≤

hahaAll的博客 421

poj3660 Cow Contest floyd+传递闭包

题目链接:http://poj.org/problem?id=3660

452

POJ 3660 Cow Contest floyd dfs

题意:有n个奶牛,给出m个奶牛的关系,即某个奶牛的编程能力比另一个要强,求出能够确定排名的奶牛的最大数量 思路:建立n个点m条边的有向图,某个点能够确定排名,则其他所有点不是可以到达该点,就是可以由该点到达。可以用floyd来判断,给每条边权值赋1,如果松弛后某点与其他所有点的边权值不为无穷大,则该点就能确定排名 #include<iostream> #include<cstdi...

qq_42397248的博客 206

[floyd]poj3660 Cow Contest

Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64uDescription N (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating in a programming contest. As we all know, so

童凌的技术博客 584

[POJ3660](最短路floyd)Cow Contest

POJ3660 Cow Contest 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 skil...

Z7784562的博客 267

Cow Contest(POJ 3660)(Floyd)(任意两点间最短路)

Cow Contest(POJ 3660)(Floyd)(任意两点间最短路)

Ema1997的博客 578

poj 3660 Cow Contest (Floyd)

http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82829#problem/H Cow Contest Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status Descr

大太阳 692
上一篇: POJ3259 Wormholes(bellman)
下一篇: HDOJ1213 How Many Tables(并查集)
GKHack
博客等级 码龄11年 48粉丝 291原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值