zoukankan      html  css  js  c++  java
  • POJ 3660 Cow Contest (FLOYD 扩展)

     1 /floyd求传递闭包,裸题,当牛被打败x次,胜利y次,且x+y==n-1时,说明该牛位置确定。注意下面的程序中
     2 //map[i][i]恒为false,也就是自己不能打败自己。难度1
     3 
     4 #include<stdio.h>
     5 #include<string.h>
     6 int n,m;
     7 int map[500][500];
     8 void floyd()
     9 {
    10     int i,j,k;
    11     for(k=1;k<=n;k++)
    12     {
    13         for(i=1;i<=n;i++)
    14           for(j=1;j<=n;j++)
    15          {
    16             if(map[i][k]&&map[k][j])map[i][j]=1;
    17          }
    18     }
    19 }
    20 int main()
    21 {
    22     int i,a,b,j;
    23     while(scanf("%d%d",&n,&m)!=EOF)
    24     {
    25         memset(map,0,sizeof(map));
    26         for(i=1;i<=m;i++)
    27         {
    28             scanf("%d%d",&a,&b);
    29             map[a][b]=1;
    30         }
    31         floyd();
    32         int ans=0;
    33         for(i=1;i<=n;i++)
    34         {
    35             int sum=0;
    36 
    37            for(j=1;j<=n;j++)
    38            {
    39                if(map[i][j]||map[j][i])sum++;
    40            }
    41            if(sum==n-1)ans++;
    42         }
    43         printf("%d\n",ans);
    44     }
    45 
    46 }
  • 相关阅读:
    「SPOJ10707」Count on a tree II
    UVA 11021 /概率
    power oj/2360/Change
    POJ1613 147/思维题
    Power oj2498/DP/递推
    HDU4815/计数DP
    444A/CF
    观光公交noip<贪心>
    2014 Shanghai Invitation Contest
    POJ1734/Floyd求最小环
  • 原文地址:https://www.cnblogs.com/acSzz/p/2485820.html
Copyright © 2011-2022 走看看