bzoj1612 / P2419 [USACO08JAN]牛大赛Cow Contest(Floyd)

Posted kafuuchino

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bzoj1612 / P2419 [USACO08JAN]牛大赛Cow Contest(Floyd)相关的知识,希望对你有一定的参考价值。

P2419 [USACO08JAN]牛大赛Cow Contest

Floyd不仅可以算最短路,还可以处理点之间的关系。

跑一遍Floyd,处理出每个点之间是否有直接或间接的关系。

如果某个点和其他$n-1$个点都有关系,那么它的排名就是可确定的。

技术分享图片
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #define re register
 5 using namespace std;
 6 int n,m,d[302][302],ans;
 7 int main(){
 8     scanf("%d%d",&n,&m); int q1,q2;
 9     for(re int i=1;i<=m;++i) scanf("%d%d",&q1,&q2),d[q1][q2]=1;
10     for(re int k=1;k<=n;++k)
11         for(re int j=1;j<=n;++j)
12             for(re int i=1;i<=n;++i)
13                 d[i][j]|=d[i][k]&d[k][j];//(i,k),(k,j)都要有关系,(i,j)才有关系
14     for(re int i=1;i<=n;++i){
15         int tmp=1;
16         for(re int j=1;j<=n;++j)
17             if(i!=j) tmp&=d[i][j]|d[j][i];//是否与其他n-1个点都有关系
18         ans+=tmp;
19     }printf("%d",ans);
20     return 0;
21 }
View Code

 

以上是关于bzoj1612 / P2419 [USACO08JAN]牛大赛Cow Contest(Floyd)的主要内容,如果未能解决你的问题,请参考以下文章

P2419 [USACO08JAN]牛大赛Cow Contest

Luogu P2419 [USACO08JAN]牛大赛Cow Contest

题解 P2419 [USACO08JAN]牛大赛Cow Contest

[bzoj1612][Usaco2008 Jan]Cow Contest奶牛的比赛_dfs

bzoj1603 / P2913 [USACO08OCT]车轮旋转Wheel Rotation

bzoj1613 / P1353 [USACO08JAN]跑步Running