求大蛇答疑
  • 板块学术版
  • 楼主_zxmm286
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/8/18 13:23
  • 上次更新2023/11/3 02:55:46
查看原帖
求大蛇答疑
382520
_zxmm286楼主2023/8/18 13:23
#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[105],b[105];
int f[105][105];
int ans;
int main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>a[i]>>b[i];
		f[a[i]][b[i]]=1;
	}
	for(int k=1;k<=n;k++){
        for(int i=1;i<=n;i++){	
            for(int j=1;j<=n;j++){          	
              f[i][j]|=f[i][k]&f[k][j];
			}
		}
	}
	for(int i=1;i<=n;i++){
		int sum=0;
		for(int j=1;j<=n;j++){
			sum+=f[i][j]|f[j][i];
		}
		if(sum==n-1) ans++;
	}
	cout<<ans;
	return 0;
}


c++98 为什么这样不能AC,而将a[i],b[i]数组改成a,b变量就可以AC了...

2023/8/18 13:23
加载中...