HDU 3342
#include<stdio.h>
#include<string.h>
int degree[101],vis[101],map[101][101];
int main()
{
int n,m,a,b,i,j,temp,flag;
while(~scanf("%d%d",&n,&m) && n)
{
memset(degree,0,sizeof(degree));
memset(vis,0,sizeof(vis));
memset(map,0,sizeof(map));
flag = 0;
while(m--)
{
scanf("%d%d",&a,&b);
if(!map[a][b]) //不计重边;
{
degree[b]++;
map[a][b] = 1;
}
}
for(i = 0;i < n;i ++)
{
for(j = 0;j < n;j ++) //查找入度为0的点;
{
if(degree[j] == 0 && vis[j] == 0)
temp = j;
}
vis[temp] = 1; //找到即把此点销毁;
for(j = 0;j < n;j ++)
{
if(j != temp && map[temp][j] == 1 && vis[j] == 0) //处理与此点相关的点和边;
{
degree[j]--;
map[temp][j] = 0; //销毁边;
}
}
}
for(i = 0;i < n;i ++) //验证是否还有入度不为0的点;
{
if(degree[i])
{
flag = 1;
break ;
}
}
if(!flag)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
#include<string.h>
int degree[101],vis[101],map[101][101];
int main()
{
int n,m,a,b,i,j,temp,flag;
while(~scanf("%d%d",&n,&m) && n)
{
memset(degree,0,sizeof(degree));
memset(vis,0,sizeof(vis));
memset(map,0,sizeof(map));
flag = 0;
while(m--)
{
scanf("%d%d",&a,&b);
if(!map[a][b]) //不计重边;
{
degree[b]++;
map[a][b] = 1;
}
}
for(i = 0;i < n;i ++)
{
for(j = 0;j < n;j ++) //查找入度为0的点;
{
if(degree[j] == 0 && vis[j] == 0)
temp = j;
}
vis[temp] = 1; //找到即把此点销毁;
for(j = 0;j < n;j ++)
{
if(j != temp && map[temp][j] == 1 && vis[j] == 0) //处理与此点相关的点和边;
{
degree[j]--;
map[temp][j] = 0; //销毁边;
}
}
}
for(i = 0;i < n;i ++) //验证是否还有入度不为0的点;
{
if(degree[i])
{
flag = 1;
break ;
}
}
if(!flag)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
HDU 3342的更多相关文章
- HDU.3342 Legal or Not (拓扑排序 TopSort)
HDU.3342 Legal or Not (拓扑排序 TopSort) 题意分析 裸的拓扑排序 根据是否成环来判断是否合法 详解请移步 算法学习 拓扑排序(TopSort) 代码总览 #includ ...
- HDU 3342 Legal or Not(判断是否存在环)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3342 Legal or Not Time Limit: 2000/1000 MS (Java/Othe ...
- hdu 3342 Legal or Not
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=3342 Legal or Not Description ACM-DIY is a large QQ g ...
- HDU 3342 Legal or Not(拓扑排序判断成环)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3342 题目大意:n个点,m条有向边,让你判断是否有环. 解题思路:裸题,用dfs版的拓扑排序直接套用即 ...
- HDU 3342 Legal or Not (图是否有环)
题意: 给出n个人的师徒关系,如有 a是b的师傅,b是c的师傅,c是a的师傅,这样则不合法,输出NO,否则输出YES. 思路: 每段关系可以看成一条有向边,从师傅指向徒弟,那么徒弟的徒子徒孙都不可能再 ...
- hdu 3342 Legal or Not(拓扑排序) HDOJ Monthly Contest – 2010.03.06
一道极其水的拓扑排序……但是我还是要把它发出来,原因很简单,连错12次…… 题意也很裸,前面的废话不用看,直接看输入 输入n, m表示从0到n-1共n个人,有m组关系 截下来m组,每组输入a, b表示 ...
- hdu 3342 Legal or Not(拓扑排序)
Legal or Not Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total ...
- hdu 3342 拓扑排序 水
好久没切题 先上水题! 拓扑排序! 代码: #include<iostream> #include<cstdio> #include<cstring> using ...
- HDU 3342 Legal or Not (图是否有环)【拓扑排序】
<题目链接> 题目大意: 给你 0~n-1 这n个点,然后给出m个关系 ,u,v代表u->v的单向边,问你这m个关系中是否产生冲突. 解题分析: 不难发现,题目就是叫我们判断图中是否 ...
随机推荐
- js搜索框 js仿百度搜索 js下拉框 jQuery.Autocomplete使用
做了一个网站,需要根据文本框的输入模糊搜索数据库内容给出提示供用户选择,就找到了jQuery.Autocomplete 效果如下图: 该插件托管在github上,具体地址:https://github ...
- 【转】WPF获取外部EXE图标最简单的方法
首先在工程添加对System.Drawing的引用 创建以下方法: public static ImageSource GetIcon(string fileName) { System.Drawin ...
- 51nod1046快速幂取余
给出3个正整数A B C,求A^B Mod C. 例如,3 5 8,3^5 Mod 8 = 3. Input 3个正整数A B C,中间用空格分隔.(1 <= A,B,C <= 10^ ...
- ecshop会员中心增加订单搜索功能
在user.php中的act=order_list中增加以下程序. $order_sn = isset($_REQUEST['order_sn'])?$_REQUEST['order_sn']:''; ...
- Pjax介绍及在asp.net MVC3中使用pjax的简单示例
相信很多人对ajax并不陌生,对ajax的一些优点也了如指掌,如:局部刷新改善用户体验,减少开销,让服务器和浏览器之间的响应更快等. 但是它的缺点也是很显而易见的: AJAX大量的使用了javascr ...
- poj 1904 King's Quest
King's Quest 题意:有N个王子和N个妹子;(1 <= N <= 2000)第i个王子喜欢Ki个妹子:(详见sample)题给一个完美匹配,即每一个王子和喜欢的一个妹子结婚:问每 ...
- VisualStudio自定义代码段_方法一
在VisualStudio里,使用代码段会提高我们的编写速度.其实,就是给一段代码加个快捷方式,使用时,快捷方式按键+2次Tab键. 举个例子: 比如输入Console.WriteLine (); 传 ...
- struts2用了哪几种模式
代理模式 责任连模式 ActionVacation 迭代模式
- Python之添加新元素
现在,班里有3名同学: >>> L = ['Adam', 'Lisa', 'Bart'] 今天,班里转来一名新同学 Paul,如何把新同学添加到现有的 list 中呢? 第一个办法是 ...
- U盘、移动硬盘提示格式化的处理
移动硬盘突然打不开了,一点击就提示要求格式化,这种问题本人亲历,现已解决,千万别格式化,千万别格式化,用系统自带磁盘恢复 CHKDSK命令即可解决此问题 方法/步骤 1.在开始菜单找到“运行”窗口,也 ...