• nyoj Cow Contest (传递闭包)


     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstdlib>
     4 #include<cstring>
     5 #include<string>
     6 #include<queue>
     7 #include<algorithm>
     8 #include<map>
     9 #include<iomanip>
    10 #include<climits>
    11 #include<cmath>
    12 #include<stdlib.h>
    13 #include<vector>
    14 #include<stack>
    15 #include<set>
    16 #define INF 2000000000
    17 #define MAXN 110
    18 #define maxn 1000010
    19 #define Mod 1000007
    20 #define N 1010
    21 using namespace std;
    22 typedef long long LL;
    23 
    24 int n, m;
    25 bool G[MAXN][MAXN];
    26 int u, v;
    27 
    28 void Floyd()
    29 {
    30     for (int k = 1; k <= n; ++k)
    31         for (int i = 1; i <= n; ++i)
    32             for (int j = 1; j <= n; ++j)
    33                 G[i][j] |= G[i][k] & G[k][j];
    34 }
    35 
    36 int main()
    37 {
    38     while (~scanf("%d%d", &n, &m), n + m) {
    39         memset(G,0,sizeof(G));
    40         for (int i = 0; i < m; ++i) {
    41             scanf("%d%d", &u, &v);
    42             G[u][v] = true;
    43         }
    44         Floyd();
    45         int sum,ans = 0;
    46         for (int i = 1; i <= n; ++i) {
    47             sum = 0;
    48             for (int j = 1; j <= n; ++j) {
    49                 if (G[i][j] || G[j][i]) sum++;
    50             }
    51             if (sum == n - 1) ans++;
    52         }
    53         cout << ans << endl;
    54     }
    55     return 0;
    56 }
    代码君
  • 相关阅读:
    在关闭窗体时弹出对话框
    使应用程序在进程中消失
    禁用窗口上的关闭按钮
    洛谷P1080 国王游戏
    洛谷P1443 马的遍历
    算法竞赛入门经典第二版 随笔1
    AcWing 794. 高精度除法
    AcWing 793. 高精度乘法
    AcWing 792. 高精度减法
    AcWing 791. 高精度加法
  • 原文地址:https://www.cnblogs.com/usedrosee/p/4340319.html
Copyright © 2020-2023  润新知