这个几乎完全相同的代码,运行结果却不一样,求大佬看看哪里错了。
查看原帖
这个几乎完全相同的代码,运行结果却不一样,求大佬看看哪里错了。
874676
silentzdw楼主2023/8/10 09:32
#include<bits/stdc++.h>
using namespace std;
const int N=110;
int d[N][N];
int n,m,a,b;
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++)
	{
		cin>>a>>b;
		d[a][b]=1;
	}
	for(int k=1;k<=n;k++)
	{
		for(int i=1;i<=n;i++)
		{
			for(int j=1;j<=n;j++)
			{
				d[i][j]=d[i][j]|d[i][k]&d[k][i];
			}
		}
	}
	int ans=0;
	for(int i=1;i<=n;i++)
	{
		int flag=1;
		for(int j=1;j<=n;j++)
		
			if(i==j)continue;
			else 
		flag = flag & (d[i][j] | d[j][i]);

			
		
		ans+=flag;
	}
	cout<<ans<<"\n";
	
	return 0;
}

2023/8/10 09:32
加载中...