HDU4324-Triangle LOVE-判断是否存在环(拓扑)

原创 2015年11月20日 22:22:55

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4324

题目意思:矩阵。1表示i-th喜欢j-th,问是否存在环状喜欢关系。

#include<iostream>
#include<string>
#include<cstring>
#include<cstdio>
using namespace std;
const int N=2005;
bool Map[N][N];
int t,n,Case=1;
char str[N];
struct node{
    int in,out;
}s[N];
int TopSort()
{
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            if(s[j].in==0){
                s[j].in=-1;
                for(int k=0;k<n;k++){
                    if(Map[j][k]){
                        s[k].in--;
                    }
                }
            }
        }
    }
    for(int i=0;i<n;i++)
        if(s[i].in>0) return 0;
    return 1;
}
int main()
{
    scanf("%d",&t);
    while(t--){
        scanf("%d",&n);
        memset(Map,false,sizeof(Map));
        memset(s,0,sizeof(s));
        for(int i=0;i<n;i++){
            scanf("%s",str);
            for(int j=0;j<n;j++){
                if(str[j]=='1'){
                    s[i].out++;
                    s[j].in++;
                    Map[i][j]=true;
                }
            }
        }
        if(!TopSort()) printf("Case #%d: Yes\n",Case++);
        else printf("Case #%d: No\n",Case++);
    }
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

图中是否有环-->拓扑排序

图结构练习——判断给定图是否存在合法拓扑序列 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 给定一个有向图,判断该有向图是否存在一个合...
  • power_to_go
  • power_to_go
  • 2016年08月11日 13:32
  • 372

判断有向图是否有环之拓扑排序-LeetCode 207. Course Schedule

拓扑排序:对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性...
  • mengmee_pku
  • mengmee_pku
  • 2016年05月03日 15:44
  • 2328

判断有向图是否有环及拓扑排序

对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在...
  • u014568921
  • u014568921
  • 2015年08月07日 22:22
  • 1894

判断图中是否存在环

参考博客:xwdreamer的专栏 1.对于无向图,有以下三种方法 剪枝、无环连通分支边数m 1.1剪枝 1删除所有度数为0的点 2把所有度数为1的点入队 3.从队列中取出一个...
  • bujuan827
  • bujuan827
  • 2016年08月26日 17:11
  • 633

拓扑排序(判断是否是有向无环图)

要进行拓扑排序之前,该图要是有向无环图。 排序方法: 1、从有向图中选取一个没有前驱的顶点,并输出之 ;2、从有向图中删去此顶点以及所有以它为尾的弧; 3、重复上述两步,直至图...
  • KJBU2
  • KJBU2
  • 2015年05月28日 19:32
  • 1433

判断一个单向链表中是否存在环

判断一个单向链表中是否存在环
  • htyurencaotang
  • htyurencaotang
  • 2013年09月11日 13:26
  • 3343

判断一个单链表是否有环

用快慢指针法,慢指针一次走一步,快指针一次走两步,如果有环必定相遇 这里给出C++和Python 版 Python: """ Definition of ListNode class Lis...
  • susser43
  • susser43
  • 2015年04月19日 14:01
  • 993

题目:代码实现判断单链表是否有环

一、单链表环的定义: 有环的定义是,链表的尾节点指向了链接中间的某个节点。比如下图,如果单链表有环,则在遍历时,在通过结点J之后,会重新回到结点D。 题目:0.如何判断单链表里面是否有...
  • lanmolei814
  • lanmolei814
  • 2015年03月29日 22:45
  • 1444

判断链表是否有环(两种方法)

如何判断一个链表是否是一个循环链表呢?什么链表是一个循环链表?看图: 一.步数比较法判断是否有环 int HasLoop1(LinkList L){ LinkList cur1=L;...
  • mengzhisuoliu
  • mengzhisuoliu
  • 2015年05月07日 13:42
  • 569

链表趣题---快慢指针判断链表是否有环

前述五一假刷博客,看到师兄的快慢指针判断单向链表是否有环及找环入口 感觉真的非常神奇和有趣,今天在谈论Linux下的各种链表操作—list.h 想起了这个有趣的问题,给大家分享一波,结果在找入口时居然...
  • XiyouLinux_Kangyijie
  • XiyouLinux_Kangyijie
  • 2017年05月04日 22:49
  • 724
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HDU4324-Triangle LOVE-判断是否存在环(拓扑)
举报原因:
原因补充:

(最多只允许输入30个字)