HDU4324(拓扑排序)
来源:互联网 发布:java实现推荐算法实例 编辑:程序博客网 时间:2024/05/22 00:05
#include <bits/stdc++.h>using namespace std;#define maxn 2111#define maxm 8111111int t, n;char mp[maxn][maxn];struct node { int from, to, next;}edge[maxm];int head[maxn];int cnt;bool vis[maxn];int indegree[maxn], outdegree[maxn];void add_edge (int from, int to, int i) { node &e = edge[i]; e.from = from, e.to = to, e.next = head[from], head[from] = i;}int topo () { int ans = 0; queue <int> gg; while (!gg.empty ()) gg.pop (); for (int i = 0; i < n; i++) { if (!indegree[i]) gg.push (i), ans++, vis[i] = 1; } while (!gg.empty ()) { int u = gg.front (); gg.pop (); for (int i = head[u]; i != -1; i = edge[i].next) { int v = edge[i].to; if (vis[v]) continue; indegree[v]--; if (!indegree[v]) gg.push (v), ans++, vis[v] = 1; } } return ans;}int main () { //freopen ("in", "r", stdin); scanf ("%d", &t); int kase = 0; while (t--) { scanf ("%d", &n); printf ("Case #%d: ", ++kase); cnt = 0; memset (head, -1, sizeof head); memset (indegree, 0, sizeof indegree); memset (outdegree, 0, sizeof outdegree); memset (vis, 0, sizeof vis); for (int i = 0; i < n; i++) { scanf ("%s", mp[i]); } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (mp[i][j] == '1') { add_edge (i, j, cnt++); indegree[j]++; outdegree[i]++; } } } int cnt = topo (); if (cnt != n) printf ("Yes\n"); else printf ("No\n"); } return 0;}
0 0
- hdu4324 拓扑排序
- hdu4324(拓扑排序)
- hdu4324 拓扑排序
- HDU4324(拓扑排序)
- hdu4324(拓扑排序)
- HDU4324 Triangle LOVE 【拓扑排序】
- HDU4324 Triangle LOVE【拓扑排序】
- HDU4324 Triangle Love【拓扑排序】
- 拓扑排序 hdu4324 Triangle LOVE
- hdu4324 Triangle LOVE(拓扑排序)
- hdu4324 Triangle LOVE (拓扑排序)
- Triangle LOVE 杭电HDU4324 【拓扑排序】
- HDU4324 Triangle LOVE 最短路前基础铺垫拓扑排序
- hdu4324 Triangle LOVE 拓扑排序或强连通分量
- hdu4324 Triangle LOVE (拓扑判断环)
- hdu4324
- hdu4324
- HDU4324 - Triangle LOVE 拓补排序
- JQuery 替换页面所有标签
- Ancient Cipher 字符串加密 重排
- tomcat安装服务和内存参数设置
- JBOSS启动报错java.lang.NoClassDefFoundError:
- smarty笔记—常用变量
- HDU4324(拓扑排序)
- CodeForces 453A(数学期望)
- 将Dataset中的多个DataTable导入到一个Excel文件的多个Sheet中
- java 进行aes加密
- 最长01串 SDUT 3308
- Device Low-Power States
- BSS段为什么需要初始化
- dubbo初识(1)
- java https访问