POJ-3660-Cow Contest

来源:互联网 发布:windows7服务优化说明 编辑:程序博客网 时间:2024/05/29 08:54

询问多少个奶牛可以确定排名

传递闭包


#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include <vector>#include<algorithm>using namespace std;const int maxn=1505;int n,m;int g[maxn][maxn];int vis[maxn];void floyd(){    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]&&g[k][j]==1)                    g[i][j]=1;}int main(){    while(~scanf("%d%d",&n,&m))    {        memset(g,0,sizeof(g));        int u,v,ans=0;        for(int i=1; i<=m; i++)        {            scanf("%d%d",&u,&v);            g[u][v]=1;        }        floyd();        for(int i=1; i<=n; i++)        {            int res=0;            for(int j=1; j<=n; j++)                if(g[j][i]||g[i][j]==1&&i!=j)                    res++;            if(res==n-1)                ans++;        }        printf("%d\n",ans);    }    return 0;}


0 0
原创粉丝点击