题解——code[vs] 1506 传话(传递闭包)

裸的传递闭包

直接Floyd暴力即可

#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
int n,m,mat[][];
int main(){
scanf("%d %d",&n,&m);
for(int i=;i<=m;i++){
int a,b;
scanf("%d %d",&a,&b);
mat[a][b]=;
}
for(int k=;k<=n;k++)
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
if(mat[i][k]&&mat[k][j])
mat[i][j]=;
for(int i=;i<=n;i++)
if(mat[i][i])
printf("T\n");
else
printf("F\n");
return ;
}
上一篇:css基本样式总结


下一篇:fcitx jdk maven profile配置