• [Floyd-Washall] POJ 3660 Cow Contest


    POJ 3660 Cow Contest

    Floyd-Washall

    const int MAX_N = 103;
    const int INF = 0x3fffffff;
    int N,M;
    int W[MAX_N][MAX_N];
    int D[MAX_N][MAX_N];
    int tmpD[MAX_N][MAX_N];
    void floyd(){
        // D_0 = W
        memcpy(D,W,sizeof(D));
        for(int k=1;k<=N;k++){
            for(int i=1;i<=N;i++){
                for(int j=1;j<=N;j++){
                    tmpD[i][j] = min(D[i][j],D[i][k]+D[k][j]);
                }
            }
            memcpy(D,tmpD,sizeof(D));
        }
    }
    int main(){
        scanf("%d %d",&N,&M);
        /* initialize W: 
         * w_ij = 0					i=j
         *		= 有向边(i,j)的权重	i≠j且(i,j) in E
         * 		= INF				i≠j且(i,j) not in E
         */
        fill(W[0],W[0]+MAX_N*MAX_N,INF);
        for(int i=1;i<=N;i++) W[i][i]=0;
        for(int m=0;m<M;m++){
            int A,B;
            scanf("%d %d",&A,&B);
            W[A][B] = 1;
        }
        floyd();
        int ans=0;
        for(int i=1;i<=N;i++){
            int cnt=0;
            for(int j=1;j<=N;j++){
                if(D[i][j]!=0 && D[i][j]<INF) cnt++;
                if(D[j][i]!=0 && D[j][i]<INF) cnt++;
            }
            if(cnt==N-1) ans++;
        }
        printf("%d
    ", ans);
    }
    
    
  • 相关阅读:
    kill一个pthread_test.bin测试程序主线程、子线程退出kernel flow
    signal bit operation
    pthread
    信号发送处理流程
    sdcardfs
    node小贴士03
    node小贴士02
    node小贴士01
    siteserver cms 搜索功能
    语法的高亮显示
  • 原文地址:https://www.cnblogs.com/chengyh23/p/14585373.html
Copyright © 2020-2023  润新知