P2419 [USACO08JAN]Cow Contest S

传递闭包裸题。

如果一头奶牛和其他\(n-1\)头奶牛的大小关系都确定了,那么该奶牛的排名可唯一确定。

或者说,比它强的奶牛的数量加上比它弱的奶牛的数量等于\(n-1\),就可唯一确定该奶牛的名次。

const int N=110;
bool g[N][N];
int n,m;

void floyd()
{
    for(int k=1;k<=n;k++)
        for(int i=1;i<=n;i++)
            for(int j=1;j<=n;j++)
                g[i][j] |= g[i][k] & g[k][j];
}

int main()
{
    cin>>n>>m;

    while(m--)
    {
        int a,b;
        cin>>a>>b;
        g[a][b]=true;
    }

    floyd();

    int res=0;
    for(int i=1;i<=n;i++)
    {
        int cnt=0;
        for(int j=1;j<=n;j++)
            if(g[i][j] || g[j][i])
                cnt++;
        if(cnt == n-1) res++;
    }
    cout<<res<<endl;
    //system("pause");
    return 0;
}

上一篇:Atcoder Regular Contest 117 D - Miracle Tree(分析性质+构造)


下一篇:ICPC Southeast USA 2020 Regional Contest proble C: Bitonic Ordering(贪心)