hdu 4324 Triangle LOVE(拓扑排序,基础)
/***************************参考自****************************/
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(拓扑排序,基础)的更多相关文章
- HDU 4324 Triangle LOVE 拓扑排序
Problem Description Recently, scientists find that there is love between any of two people. For exam ...
- 题解报告:hdu 2647 Reward(拓扑排序)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2647 Problem Description Dandelion's uncle is a boss ...
- HDU 4324 Triangle LOVE (拓扑排序)
Triangle LOVE Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tot ...
- HDU - 4324 Triangle LOVE(拓扑排序)
https://vjudge.net/problem/HDU-4324 题意 每组数据一个n表示n个人,接下n*n的矩阵表示这些人之间的关系,输入一定满足若A不喜欢B则B一定喜欢A,且不会出现A和B相 ...
- hdu 4324 Triangle LOVE(拓扑判环)
Triangle LOVE Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) To ...
- hdu 4324 Triangle LOVE
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4324 Triangle LOVE Description Recently, scientists f ...
- hdu 5098 双队列拓扑排序
http://acm.hdu.edu.cn/showproblem.php?pid=5098 软件在安装之后需要重启才能发挥作用,现在给你一堆软件(有的需要重启有的不需要)以及安装这个软件之前需要哪些 ...
- HDU 5811 Colosseo(拓扑排序+单调DP)
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5811 [题目大意] 给出 一张单向图,现在将其划分成了两个部分,问划分之后的点是否分别满足按照一定 ...
- HDU 4857 (反向拓扑排序 + 优先队列)
题意:有N个人,M个优先级a,b表示a优先于b.而且每一个人有个编号的优先级.输出顺序. 思路来自:与PKU3687一样 在主要的拓扑排序的基础上又添加了一个要求:编号最小的节点要尽量排在前面:在满足 ...
随机推荐
- maven 练习
新建项目: Next next next 新建项目后,MyEclipse会自动从远程仓库中下载支持包,需要几分钟左右时间. 项目结构图: HelloWorld.java public class He ...
- python+selenium环境配置(windows7环境)
下载python[python开发环境] http://python.org/getit/ 下载setuptools[python的基础包工具] http://pypi.python.org/pypi ...
- 抽象类(abstract)是否可以继承自实体类 ?
可以. 但是这个实体类必须有无参构造函数(默认的构造函数). 如: public class A { //这个构造函数必须要有(在没有构造函数重载时可以省略,因为运行时会为A添加默认构造函数) pub ...
- string和json转换的简单应用
import com.alibaba.fastjson.JSON; String strjson = request.getParameter("param"); //url-js ...
- Hadoop上路-01_Hadoop2.3.0的分布式集群搭建
一.配置虚拟机软件 下载地址:https://www.virtualbox.org/wiki/downloads 1.虚拟机软件设定 1)进入全集设定 2)常规设定 2.Linux安装配置 1)名称类 ...
- Discuz 3.X 门户文章插入图片自动添加 alt 标签
最近用 Discuz 搭建了个网站--儿童安全座椅网(www.bbseat.com.cn),用到了门户功能,不得不说Discuz 的功能还是非常强大的,但在使用过程中发现在发表文章时添加了图片却不能像 ...
- php编写简单的页面跳转功能
不多说,直接上. //确保magic_quotes_gpc在php.ini中移开启function CheckInput($value){ //去除反斜杠 if(get_magic_quotes_gp ...
- How to achieve dialog with lookup control
How to create a dialog with the lookup as a control, the other control SalesId ItemId lookup is the ...
- python 数字、字符串、列表常用函数
一.数字的标准类型: cmp():比较两个数的大小:返回值(-1,0,1). str():数字转化成字符串. type():返回数字类型. 转换工厂函数: int(obj,base=10) long( ...
- Eclipse中查看JDK类库的源代码
在Eclipse中查看JDK类库的源代码!!! 设置: 1.点 “window”-> "Preferences" -> "Java" -> & ...