题目

/***************************参考自****************************/

http://www.cnblogs.com/newpanderking/archive/2012/10/16/2726757.html

上有详细注解,我是看了之后写的,我的代码有一咪咪的改动

//这是一道典型的拓扑排序的题,刚开始时没有理解,
//上网查了好多关于拓扑排序的知识才明白,
//就是针对一个顶点活动网(Activity On Vertex network),简称AOV网,
//从中去除入度为0的顶点,同时更新从改点出发引起的入度,
//让这些点的入度减1,直到最后如果AOV网为空时,
//说明那么去除的这些点就组成了一个拓扑排序,
//如果AOV网不为空,这种情况若在程序中出现,
//则称为死锁或死循环(即形成环),是应该必须避免的,
//说明这些活动是永远执行不到的(在此题中是Yes)。
//(活动的前驱又是在活动之后执行)

/***********************************************************/

#define  _CRT_SECURE_NO_WARNINGS

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
char love[][];
int in_degree[];
int flag;
int tuopu(int n)
{
int i,j,jj;
for(i=;i<n;i++)
{
for(j=;j<n;j++)
{
if(in_degree[j]==)
{
in_degree[j]=-;
break;
}
}
if(j==n)
{
return ;
}
else
{
for(jj=;jj<n;jj++)
{
if(love[j][jj]=='')
in_degree[jj]--;
}
}
}
return ;
}
int main()
{
int t,i,j,n,id;
scanf("%d",&t);
for(id=;id<=t;id++)
{
memset(in_degree,,sizeof(in_degree));
memset(love,'',sizeof(love));
scanf("%d",&n);
for(i=;i<n;i++)
{
scanf("%s",love[i]);
for(j=;j<n;j++)
if(love[i][j]=='')
in_degree[j]++; }
flag=tuopu(n);
printf("Case #%d: ",id);
if(flag==)printf("Yes\n");
else printf("No\n");
}
return ;
}

//其实我原本是为了搜强连通分量的,然后搜到了这道题;也就是说,这题也可以用 强连通 来做

hdu 4324 Triangle LOVE(拓扑排序,基础)的更多相关文章

  1. HDU 4324 Triangle LOVE 拓扑排序

    Problem Description Recently, scientists find that there is love between any of two people. For exam ...

  2. 题解报告:hdu 2647 Reward(拓扑排序)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2647 Problem Description Dandelion's uncle is a boss ...

  3. HDU 4324 Triangle LOVE (拓扑排序)

    Triangle LOVE Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  4. HDU - 4324 Triangle LOVE(拓扑排序)

    https://vjudge.net/problem/HDU-4324 题意 每组数据一个n表示n个人,接下n*n的矩阵表示这些人之间的关系,输入一定满足若A不喜欢B则B一定喜欢A,且不会出现A和B相 ...

  5. hdu 4324 Triangle LOVE(拓扑判环)

    Triangle LOVE Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) To ...

  6. hdu 4324 Triangle LOVE

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4324 Triangle LOVE Description Recently, scientists f ...

  7. hdu 5098 双队列拓扑排序

    http://acm.hdu.edu.cn/showproblem.php?pid=5098 软件在安装之后需要重启才能发挥作用,现在给你一堆软件(有的需要重启有的不需要)以及安装这个软件之前需要哪些 ...

  8. HDU 5811 Colosseo(拓扑排序+单调DP)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5811 [题目大意] 给出 一张单向图,现在将其划分成了两个部分,问划分之后的点是否分别满足按照一定 ...

  9. HDU 4857 (反向拓扑排序 + 优先队列)

    题意:有N个人,M个优先级a,b表示a优先于b.而且每一个人有个编号的优先级.输出顺序. 思路来自:与PKU3687一样 在主要的拓扑排序的基础上又添加了一个要求:编号最小的节点要尽量排在前面:在满足 ...

随机推荐

  1. Codevs 2837 考前复习

     时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description Aiden马上要考试了,可他还没怎么复习,于是他 ...

  2. 编译内核模块出现error: negative width in bit-field 错误

    今天在写一个简单的内核测试模块的时候出现了一个挺奇怪的问题,网上查了一下也没人解决,自己试了好久终于解决了,所以分享出来供大家参考,先贴出源码: /************************** ...

  3. 【风马一族_Java】如何获取ACSLL表的值

    消耗两小时,只为一代码. 终于得到了此代码: public class sows { public static void main(String[] args) { byte[] bytes = n ...

  4. Allegro设置十字大光标

    使用大十字光标,在摆放元器件时,容易对齐.在allegro中,可以通过设置实现大十字光标,其具体方法如下: 1.选择Setup->User Perferences,即可出现如下图所示界面: 2. ...

  5. silverlight 跳转指定的aspx页面

    1.在xaml.cs中直接访问.并传递参数 System.Windows.Browser.HtmlPage.Window.Navigate(new Uri(HtmlPage.Document.Docu ...

  6. 重拾C,一天一点点_4_随想

    刚才顺便又把二分默写了一遍,还好,这次比较顺利.算法这一块,一直是自己一块痛处,有时感觉自己的脑瓜子怎么就这么笨,后一想觉得肯定是锈逗了,确实啊,这么长时间不思考的脑子能机灵到哪呢?早就意识到这个问题 ...

  7. 关于SQLite的创建以及使用相关说明

    关于SQLite的创建以及使用相关说明 没有给出具体的程序,但看完这后可能对你有所帮助. 数据库操作基本知识: execSQL(String sql): 执行一个数据库语句 insert(table, ...

  8. Python开发【第一篇】Python基础之自定义模块和内置模块

    为什么要有模块,将代码归类.模块,用一砣代码实现了某个功能的代码集合. Python中叫模块,其他语言叫类库. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代 ...

  9. Mysql 数据分组取某字段值所有最大的记录行

    需求: 表中同一个uid(用户)拥有多条游戏等级记录,现需要取所有用户最高等级(level)的那一条数据,且时间(time)越早排越前.这是典型的排名表 +------+-------+------- ...

  10. Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'(using password: YSE)

    安装mysql后,使用命令登录mysql居然报错了,Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'(using ...