floyd传递关系,一个牛能确定排名的条件是能和所有牛确定关系

#include<iostream>
#include<cstdio>
using namespace std;
const int N=105;
int n,m,a[N][N],ans;
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=m;i++)
	{
		int x,y;
		scanf("%d%d",&x,&y);
		a[x][y]=1;
	}
	for(int k=1;k<=n;k++)
		for(int i=1;i<=n;i++)
			for(int j=1;j<=n;j++)
				a[i][j]=a[i][j]|(a[i][k]&a[k][j]);
	for(int i=1;i<=n;i++)
	{
		int ok=1;
		for(int j=1;j<=n;j++)
			if(i!=j&&!a[i][j]&!a[j][i])
			{
				ok=0;
				break;
			}
		ans+=ok;
	}
	printf("%d\n",ans);
	return 0;
}

相关文章:

  • 2021-07-04
  • 2021-08-14
  • 2021-11-03
  • 2022-12-23
  • 2021-08-02
  • 2021-10-05
  • 2021-06-11
  • 2021-06-12
猜你喜欢
  • 2021-11-10
  • 2022-02-24
  • 2022-01-06
  • 2022-03-01
  • 2022-12-23
  • 2022-01-13
  • 2021-10-12
相关资源
相似解决方案