POJ 3660 Cow Contest(floyd传递闭包)

解题思路:

使用floyd算法求传递闭包,若该点与其他所有点的关系都能确定,,则该点的名次可以确定。

#include <iostream>#include <cstring>#include <cstdlib>#include <cstdio>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <set>#include <map>#define LL long longusing namespace std;const int MAXN = 100 + 10;int G[MAXN][MAXN];int N, M;int main(){while(scanf("%d%d", &N, &M)!=EOF){int u, v;memset(G, 0, sizeof(G));for(int i=1;i<=M;i++){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] == 1 && G[k][j] == 1)G[i][j] = 1;}}}int ans = 0;for(int i=1;i<=N;i++){int j;for(j=1;j<=N;j++){if(i == j) continue;if(G[i][j] == 0 && G[j][i] == 0) break;}if(j > N) ans++;}printf("%d\n", ans);}return 0;}

问:一只小狗在沙漠中旅行,结果死了,问他是怎么死的?

POJ 3660 Cow Contest(floyd传递闭包)

相关文章:

你感兴趣的文章:

标签云: