POJ3660—有向图的传递闭包问题
来源:互联网 发布:淘宝详情页设计模版 编辑:程序博客网 时间:2024/05/21 17:37
题目很简单,就是求有多少只奶牛的排名可以确定下来。因为每只奶牛的排名是固定的,共有n只奶牛,排在它之前和排在它之后的奶牛的总数是n-1,如果满足这个条件,则该奶牛的排名就可以确定下来。用类似于Floyd算法的传递闭包算法,如果a的排名先于b的排名,则生成一条由a指向b的有向边,然后再按照上面的思想就很容易解决了。
#include <iostream>#include <cstdio>using namespace std;const int maxn=102;bool t[maxn][maxn]; //t[i][j]=true表示由点i到点j是连通的int main(){ int i,j,k,n,m,a,b,ans,temp; while(scanf("%d%d",&n,&m)!=EOF) { for(i=0;i<n;i++) for(j=0;j<n;j++) t[i][j]=false; for(i=0;i<m;i++) { scanf("%d%d",&a,&b); t[a-1][b-1]=true; } for(k=0;k<n;k++) for(i=0;i<n;i++) for(j=0;j<n;j++) t[i][j]=t[i][j] || (t[i][k] && t[k][j]); ans=0; for(i=0;i<n;i++) { temp=0; for(j=0;j<n;j++) temp+=t[i][j]+t[j][i]; if(temp==n-1) ans++; } printf("%d\n",ans); } return 0;}
- POJ3660—有向图的传递闭包问题
- poj3660 Cow Contest(有向图的传递闭包)
- poj3660 Cow Contest(Floyd-Warshall方法求有向图的传递闭包)
- 有向图的传递闭包
- POJ3660---Cow Contest(floyed传递闭包问题)
- HDU1181【有向图的传递闭包】
- Floyd有向图的传递闭包-UVA
- 【POJ3660】Cow Contest Floyd传递闭包
- 【poj3660】Cow Contest 【floyd传递闭包】
- POJ3660 Cow Contest (传递闭包)
- POJ3660 Cow Contest(Floyd,传递闭包)
- Poj3660 Cow Contest 【传递闭包】
- hdu 1181 floyd求有向图传递闭包
- UVA247 Calling Circles (有向图传递闭包)
- 【POJ3660】【传递闭包】【能确定胜负的含义 +- = n-1】
- 有向图的传递闭包,两点间最短路径的Floyd算法的变化.
- POJ3660 Cow Contest(Floyd求传递闭包)
- POJ3660---Cow Contest(Floyd,传递闭包,连通)
- const 用法简单总结
- 转战Android之开发环境搭建1
- 变量与函数的作用域
- Android 资源之处理运行时更改(Handling Runtime Changes)
- 配置 MacVim
- POJ3660—有向图的传递闭包问题
- Roberts算子边缘检测(vc实现)
- 买家用户体验规范总述
- 解决MyBatis的SqlSession不及时close导致的内存泄露一例
- 02 变量的作用范围
- HDU 4355 Party All the Time(三分)
- 裸考—歪理邪说解析系统分析师上午考试试题之十三(分析2010上半年系统分析师上午试题61-65题)
- ora-00907 缺失右括号3
- 20大UI设计原则