poj 3660 Cow Contest Flyod
来源:互联网 发布:大数据运维工程师要求 编辑:程序博客网 时间:2024/06/10 00:42
题目链接:
http://poj.org/problem?id=3660
题意:
给出牛之间的强弱关系,让你确定有多少头牛能够确定其排名。
题解:
就是求出每个点的入度和出度的和,如果是n-1,就可以确定排名
floyd
代码:
#include <iostream>#include <cstdio>#include <cstring>using namespace std;typedef long long ll;#define MS(a) memset(a,0,sizeof(a))#define MP make_pair#define PB push_backconst int INF = 0x3f3f3f3f;const ll INFLL = 0x3f3f3f3f3f3f3f3fLL;inline ll read(){ ll x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f;}//////////////////////////////////////////////////////////////////////////const int maxn = 1e5+10;int g[105][105];int main(){ int n=read(), m=read(); for(int i=1; i<=m; i++){ int u,v; scanf("%d%d",&u,&v); g[u][v] = 1; } for(int k=1; k<=n; k++) for(int i=1; i<=n; i++) for(int j=1; j<=n; j++) if(g[i][k]&&g[k][j]) g[i][j] = 1; int ans = 0; for(int i=1; i<=n; i++){ int cnt = 0; for(int j=1; j<=n; j++){ if(g[i][j] || g[j][i]) cnt++; } // cout << cnt << endl; if(cnt == n-1) ans++; } printf("%d\n",ans); return 0;}
0 0
- poj 3660 Cow Contest Flyod
- 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
- 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
- poj 3660 Cow Contest
- POJ 3660 Cow Contest
- POJ 3660 Cow Contest
- 1012. 数字分类 (20)
- Android学习之Context
- 线段树
- Windows下React-Native开发环境配置
- bzoj 2086 单调栈
- poj 3660 Cow Contest Flyod
- linux驱动:音频驱动(七)交叉编译alsa库及工具集alsa-utils
- 约瑟夫环
- 剑指Offer—— 链表的公共点
- 去掉重复字符(C语言)
- 离散化处理
- SSH框架整合web项目演示
- php artisan migrate 执行问题(WNMP)
- 文章标题