HDU 1704 Rank floyd求传递闭包 || bfs
来源:互联网 发布:小天才早教机软件下载 编辑:程序博客网 时间:2024/05/21 09:28
题目:
http://acm.hdu.edu.cn/showproblem.php?pid=1704
题意:
思路:
#include <bits/stdc++.h>using namespace std;const int N = 500 + 10, INF = 0x3f3f3f3f;bool mp[N][N];void floyd(int n){ for(int k = 1; k <= n; k++) for(int i = 1; i <= n; i++) if(mp[i][k]) for(int j = 1; j <= n; j++) mp[i][j] = mp[i][j] || (mp[i][k] && mp[k][j]);}int main(){ int t, n, m; scanf("%d", &t); while(t--) { memset(mp, 0, sizeof mp); scanf("%d%d", &n, &m); int v, u; for(int i = 1; i <= m; i++) { scanf("%d%d", &v, &u); mp[v][u] = true; } floyd(n); int ans = 0; for(int i = 1; i <= n; i++) for(int j = i+1; j <= n; j++) if(! mp[i][j] && ! mp[j][i]) ans++; printf("%d\n", ans); } return 0;}
#include <bits/stdc++.h>using namespace std;const int N = 500 + 10, INF = 0x3f3f3f3f;struct edge{ int to, next;}g[N*N];int cnt, head[N];bool vis[N];void add_edge(int v, int u){ g[cnt].to = u, g[cnt].next = head[v], head[v] = cnt++;}int bfs(int v){ queue<int> que; memset(vis, 0, sizeof vis); int tot = 0; que.push(v), vis[v] = true; while(! que.empty()) { int v = que.front(); que.pop(); for(int i = head[v]; i != -1; i = g[i].next) { int u = g[i].to; if(! vis[u]) que.push(u), vis[u] = true, tot++; } } return tot;}int main(){ int t, n, m; scanf("%d", &t); while(t--) { cnt = 0; memset(head, -1, sizeof head); scanf("%d%d", &n, &m); int v, u; for(int i = 1; i <= m; i++) { scanf("%d%d", &v, &u); add_edge(v, u); } int num = 0; for(int i = 1; i <= n; i++) num += bfs(i); printf("%d\n", n * (n-1) / 2 - num); } return 0;}
阅读全文
0 0
- HDU 1704 Rank floyd求传递闭包 || bfs
- HDU 1704 Rank (floyd传递闭包)
- hdu-1704-Rank(floyd-传递闭包)
- HDU 1704 rank(floyd闭包+剪枝)
- POJ 3660 Cow Contest floyd求传递闭包 || bfs
- hdu 1704 Rank (传递闭包)
- hdu 1704 rank 传递闭包
- Floyd求传递闭包
- floyd求传递闭包
- floyd求传递闭包
- floyd 求传递闭包
- hdu 1181 floyd求有向图传递闭包
- 【HDU】1317 XYZZY spfa判负环+floyd求传递闭包
- POJ 3275 Ranking the Cows floyd求传递闭包 || bfs
- POJ 1975 Median Weight Bead floyd求传递闭包 || bfs
- poj 3660(Floyd求传递闭包)
- POJ 3660 Floyd求传递闭包
- bitset优化Floyd求传递闭包
- Yale-cmu-berkeley & BigBIRD
- 破解iar for arm 7.2.2
- nedtworking
- 查询思路
- HDU-3595 GG and MM
- HDU 1704 Rank floyd求传递闭包 || bfs
- idea 注册码和汉化包
- js中阻止默认事件
- 查看点a文件
- Firefox/Chrome/IE Ajax 怎样设置允许跨域请求
- mongodb常用操作
- 昆石VOS3000_2.1.2.0一键安装教程
- Tomcat 7最大并发连接数的正确修改方法
- Android