hdu-1704-Rank(floyd-传递闭包)
来源:互联网 发布:辐射测试软件 编辑:程序博客网 时间:2024/05/06 15:27
题意:
A战胜B ,B战胜C,则A可以战胜C,询问有多少种情况给出u,v 不能得知战斗结果
思路:
传递闭包。判关系。
#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include <vector>#include<algorithm>using namespace std;const int maxn=1505;int n,m;int g[maxn][maxn]; int vis[maxn];void floyd(){ for(int k=1; k<=n; k++) for(int i=1; i<=n; i++) if(g[i][k]==1||g[i][k]==-1) for(int j=1; j<=n; j++) if(g[i][j]==0) if(g[i][k]==1&&g[k][j]==1) g[i][j]=1; else if(g[i][k]==-1&&g[k][j]==-1) g[i][j]=-1;}int main(){ int t; while(~scanf("%d",&t)) { while(t--) { scanf("%d%d",&n,&m); memset(pre,-1,sizeof(pre)); memset(g,0,sizeof(g)); int u,v,ans=0; for(int i=1; i<=m; i++) { scanf("%d%d",&u,&v); g[u][v]=1; g[v][u]=-1; } floyd(); for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) if(i!=j&&g[i][j]==0)ans++; } printf("%d\n",ans/2); } return 0; }}
0 0
- HDU 1704 Rank (floyd传递闭包)
- hdu-1704-Rank(floyd-传递闭包)
- HDU 1704 Rank floyd求传递闭包 || bfs
- HDU 1704 rank(floyd闭包+剪枝)
- hdu 1704 Rank (传递闭包)
- hdu 1704 rank 传递闭包
- floyd(传递闭包)
- hdu 1181 floyd求有向图传递闭包
- 【HDU】1317 XYZZY spfa判负环+floyd求传递闭包
- Floyd求传递闭包
- floyd求传递闭包
- floyd求传递闭包
- floyd 求传递闭包
- hdu 1704 传递闭包
- hdu 1704 传递闭包
- POJ2570 Fiber Network floyd传递闭包
- poj 3660(Floyd传递闭包)
- POJ 2570 传递闭包 Floyd
- 【Unity3D】判断是否鼠标点击物体与血条制作
- 阿里负责人揭秘面试潜规则
- 自守数定义:一个自然数的平方的尾数等于该数本身。例如:25=625,76=5776,9376=87909376,则25、76、9376均是自守数。试建立一个类Self,求出指定范围内的自守
- 历届试题 翻硬币 (蓝桥杯)
- CSDN 转载别人的文章
- hdu-1704-Rank(floyd-传递闭包)
- LeetCOde19. Remove Nth Node From End of List
- 深拷贝与浅拷贝
- Python根据AccessLog统计对应Url的点击量
- 二分函数用法
- Jsp的基本语法
- POJ 3101 Astronomy (数学)
- 编写一个通用程序,将二维数组含有最大元素的列与第0列元素对调。例如,原数组和调换后的目标数组为
- 【MySQL基础】触发器与本地化