POJ 3660 Cow Contest 传递闭包
来源:互联网 发布:数据产品经理招聘 编辑:程序博客网 时间:2024/05/21 11:30
大概题意就是说有n只奶牛,每只都有一定的编程能力数值,是唯一的(奶牛好厉害....),现在给出m个奶牛之间比较的结果,A一定比B大..问有多少只奶牛的排名可以确定...
这让我想到了离散数学的二元关系...毕竟离散学的差,这玩意不用这个也可以,只要求得有x个可以打败他的,y个被他打败的,x+y==n-1,那么排第几就可以确定了不是,本来想建个链啥的,但是想着毕竟人家放在最短路里,范围只有100,不如用用floyd..做个有向图,map[i][j]为真代表i在j之上,假表示没关系....
PS:标题就懒得缀kuangbin带你飞了 - -
#include<cstdio>#include<cstring>#include<cstdlib>#include<iostream>#include<algorithm>#include<cmath>using namespace std;int n,m;bool map[111][111];int main(){ while(cin>>n>>m) { int u,v; memset(map,false,sizeof(map)); for(int i=0;i<m;i++) { cin>>u>>v; map[u][v]=true; } 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])//i可以打败k,k打败j,那么i可以打败j map[i][j]=true; } } } int ans=0; for(int i=1;i<=n;i++) { int flag=1; for(int j=1;j<=n;j++) { if((!map[i][j]&&!map[j][i])&&i!=j)//如果i,j和j,i之间都没有排名高低的情况,那么他的关系就没确定 flag=0; } if(flag) ans++; } cout<<ans<<endl; } return 0;}
0 0
- POJ-3660 Cow Contest 传递闭包
- POJ 3660 Cow Contest 传递闭包
- POJ 3660 Cow Contest 传递闭包
- 传递闭包-POJ 3660 Cow Contest
- poj 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 传递闭包确定名次
- POJ 3660 Cow Contest-floyd传递闭包
- POJ 3660 Cow Contest.(Floyd,传递闭包).
- POJ 3660 Cow Contest(Floyd传递闭包)
- poj 3660 Cow Contest(传递闭包 Floyd)
- POJ 3660 &&NYOJ 211 Cow Contest(Floyd传递闭包)
- poj 3660Cow Contest(传递闭包)
- POJ 3660 Cow Contest(floyd传递关系闭包)
- POJ 3660 Cow Contest(floyd传递闭包)
- 正则表达式 —— 点(dot)
- C 算法精介----链表->双向链表
- C# 中使用Word文档对图像进行操作
- tomcat使用指南(一)-安装部署
- UVA 270 Lining Up(多点共线)
- POJ 3660 Cow Contest 传递闭包
- Minimum Sum LCM - UVa 10791
- 转义符插曲
- 在ubuntu下获取对应内核源码命令
- RMI、Hessian、Burlap、Httpinvoker、WebService的比较
- git push 出现 you are not allowed to upload merges 错误提示
- 蒲公英:一站式免费应用内测平台
- 几种通讯协议的比较RMI > Httpinvoker >= Hessian >> Burlap >> web service
- 2014年度总结