poj 3660(floyd 变形)
题意:
有N头牛,每头牛都会有比他强的或者弱的牛,按照牛的强弱排序,问有几头牛的位置是确定的。
5 5(n,m) 4 3 4 2 3 2 1 2 2 5则4>3>2>5 && 1>2>5故只有2,5是确定的。
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 6 using namespace std; 7 #define MAXN 102 8 #define MAXM 4510 9 10 int map[MAXN][MAXN]; 11 int N,M; 12 int relat[MAXN][MAXN];//0表示i,j的关系未确定,1表示i<j,2表示i>j。 13 14 void floyd() 15 { 16 for(int k=1;k<=N;k++) 17 for(int i=1;i<=N;i++) 18 for(int j=1;j<=N;j++) 19 { 20 if(relat[i][j] != 0 || !relat[i][k] || !relat[k][j]) 21 continue; 22 if(relat[i][k]==2 && relat[k][j]==2) 23 { 24 relat[i][j]=2; 25 relat[j][i]=1; 26 } 27 else if(relat[i][k]==1 && relat[k][j]==1) 28 { 29 relat[i][j]=1; 30 relat[j][i]=2; 31 } 32 } 33 } 34 35 void solve() 36 { 37 floyd(); 38 int ans=0; 39 for(int i=1;i<=N;i++) 40 { 41 bool flag=0; 42 for(int j=1;j<=N;j++) 43 { 44 if(i==j) 45 continue; 46 if(relat[i][j]==0) 47 { 48 flag=1; 49 break; 50 } 51 } 52 if(!flag) 53 ans++; 54 } 55 printf("%d\n",ans); 56 } 57 58 int main() 59 { 60 int x,y; 61 while(scanf("%d%d",&N,&M) != EOF) 62 { 63 memset(relat,0,sizeof(relat)); 64 while(M--) 65 { 66 scanf("%d%d",&x,&y); 67 map[x][y]=1; 68 relat[x][y]=2; 69 relat[y][x]=1; 70 } 71 solve(); 72 } 73 return 0; 74 }
转载于:https://www.cnblogs.com/Missa/archive/2012/08/30/2664278.html
poj 3660(floyd 变形)相关推荐
- poj 3660(Floyd求传递闭包)
Cow Contest Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9317 Accepted: 5249 Descr ...
- Cow Contest POJ - 3660 Floyd算法,关系链图
N (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating in a programming contest. As we ...
- H - Cow Contest POJ - 3660(Floyd 传递闭包)
H - Cow Contest POJ - 3660 题意: 有 n 头牛比赛,边 1 -> 2 代表 1 能赢 2 ,给你 m 条边,问能确定出多少头牛的名次? 思路: 如果 1->2 ...
- POJ 3660 Cow Contest [Floyd]
POJ - 3660 Cow Contest http://poj.org/problem?id=3660 N (1 ≤ N ≤ 100) cows, conveniently numbered 1. ...
- poj 3660 CwoContest Floyed传递闭包
https://www.luogu.org/problem/P2419 题意: 有N头牛,每个牛有一个唯一且不同的能力等级值.然后他们中的两头牛进行M场比赛,并给你这M场的比赛结果.现在的问题是问你有 ...
- nyoj 1248-海岛争霸 //floyd变形
1248-海岛争霸 内存限制:64MB 时间限制:1000ms 特判: No 通过数:47 提交数:84 难度:3 题目描述: 神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等.加勒 ...
- poj 2240 Arbitrage (floyd 变形)
http://poj.org/problem?id=2240 floyd 的变形 题意 有n个货币,他们的交换情况m个 例如: 3 USDollar BritishPound FrenchFranc ...
- POJ 3660 Cow Contest 传递闭包+Floyd
原题链接:http://poj.org/problem?id=3660 Cow Contest Time Limit: 1000MS Memory Limit: 65536K Total Subm ...
- POJ 3660 Cow ContestCow(Floyd传递闭包)题解
题意:给出m个关系,问你能确定机头牛的排名 思路:要确定排名那必须要把他和其他n-1头牛比过才行,所以Floyd传递闭包,如果赢的+输的有n-1就能确定排名. 代码: #include<cstd ...
最新文章
- DAI、DHCP SNOOPING、ip source guard、IPSG
- 【爬蟲】使用 httpclient进行POST请求
- 非二进制字符串数据:CHAR,VARCHAR,TEXT
- Java有序表查找:折半查找、二分查找、差值查找和斐波那契查找
- TypeScript里的interface扩展,多继承以及对应的JavaScript代码
- 强烈推荐:大神总结的超系统的前端提升路径
- ffmbc——为广播电视以及专业用途量身定制的FFmpeg
- 一道有意思的概率应用题
- 【C语言】10-字符和字符串常用处理函数
- 解决IE当前脚本发生错误异常
- java程序员的电脑配置_JAVA程序员笔记本电脑推荐?
- Android BLE GATT CONN LMP TIMEOUT 0x22
- Aspose.Cells 取消隐藏行和列(取消隐藏单行、取消隐藏多行、取消隐藏单列、取消隐藏多列
- windowsXP服务详解
- Android应该怎么学
- Java爬虫初学——爬取BT电影天堂电影的磁力链接并筛选下载
- 5G标准——3GPP TS 38.401
- Excel的简单编程
- python3.6爬虫案例:爬取顶点小说(爱看小说同学的福利)
- 怎么让 chrome 信任自签名证书(亲测有效)
热门文章
- denison php,Parker / Denison丹尼逊柱塞泵首相系列相关说明
- 网页html 图片横向摆放,css实现多张图片横向居中显示的方法
- 机器人总动员最后的bgm_引导你欣赏《机器人瓦力》的电影配乐
- linux网络编程之广播详细代码及文档说明 -,Linux网络编程之广播
- java中 以下接口以键_java复习题
- js正则表达式限制文本框只能输入数字,小数点,英文字母
- Python之数据转换——【rename()方法、cut()函数、get_dummies()函数】
- MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
- rabbitmq技术的一些感悟(一)
- nginx python webpy 配置安装