Cow Contest

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

给一个M,N,N代表有几头牛,M代表有几组比赛,最后求有几头牛可以确定名次。
-------------------------------------------------------------------- #include <iostream> #include <math.h> #include <algorithm> #include <cstdio> #include <cstring> #define MAXN 520 #define MAXM 6000 #define INF 0Xffffff using namespace std ; int d[MAXN][MAXN]; int T, N, M, l, u, w; double dis[MAXN]; int ans; double V; void floyd() { for(int k=1; k<=N; k++) for(int i=1; i<=N; i++) for(int j=1; j<=N; j++) if(d[i][k]&&d[k][j]) d[i][j] = 1; } int main() { int a,b; while(scanf("%d%d",&N,&M)!=EOF) { memset(d,0,sizeof(d)); for(int i=0; i<M; i++) { scanf("%d%d",&a,&b); d[a][b] = 1; } floyd(); int ans=0; for(int i=1;i<=N;i++) { int sum = 0; for(int j=1;j<=N;j++) { if(d[i][j]||d[j][i]) sum++; } if(sum == N-1) ans++; } printf("%d ",ans); } return 0; }
原文地址:https://www.cnblogs.com/biu-biu-biu-/p/5695305.html