HDU hdu 2094 产生冠军 拓扑排序 判定环
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2094
对于是否有环,是通过一个N(节点数)的循环来判定。检查并更新每个节点的入度数。
每找到一个入度唯一的节点就是它的临边取消,即让他的下个节点的入度减一;最后看看入度为0的节点数是否为N。
这道题我还多加了个判断看看是否含有多个冠军的可能。
这道题倒是没有那么麻烦,没打用到拓扑。
1 #include <stdio.h> 2 #include <string.h> 3 struct node 4 { 5 char str[1005]; 6 }a[1005]; 7 8 int count; 9 int map[1005][1005]; 10 int in[1005]; 11 int main() 12 { 13 int c,b,n,i,j,leap,flag; 14 char s1[105],s2[105]; 15 while(scanf("%d",&n)&&n) 16 { 17 count = -1; 18 memset(in,0,sizeof(in)); 19 for(i = 0;i < n;i++) 20 { 21 scanf("%s %s",s1,s2); 22 leap = 0; 23 for(j = 0;j <= count;j++) 24 if(strcmp(s1,a[j].str) == 0) 25 { 26 leap = 1; 27 break; 28 } 29 if(!leap) 30 count++,strcpy(a[count].str,s1); 31 c = j; 32 flag = 0; 33 for(j = 0;j <= count;j ++) 34 if(strcmp(s2,a[j].str) == 0) 35 { 36 flag = 1; 37 break; 38 } 39 if(!flag) 40 count++,strcpy(a[count].str,s2); 41 b = j; 42 map[c][b] = 1; 43 in[b]++; 44 } 45 leap = 0; 46 for(i = 0;i <= count;i++) 47 if(in[i] == 0) 48 leap++; 49 if(leap > 1||leap == 0) 50 puts("No"); 51 else 52 printf("Yes\n"); 53 } 54 return 0; 55 }
转载于:https://www.cnblogs.com/0803yijia/archive/2012/08/02/2620696.html
HDU hdu 2094 产生冠军 拓扑排序 判定环相关推荐
- HDU 4857 逃生 (反向拓扑排序 容器实现)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4857 逃生 Time Limit: 2000/1000 MS (Java/Others) Mem ...
- HDU 3342 Legal or Not(拓扑排序)
描述 ACM-DIY is a large QQ group where many excellent acmers get together. It is so harmonious that ju ...
- [ACM] hdu 1285 确定比赛 (拓扑排序)
确定比赛 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 题解报告:hdu 5695 Gym Class(拓扑排序)
题目链接:acm.hdu.edu.cn/showproblem.php?pid=5695 Problem Description 众所周知,度度熊喜欢各类体育活动. 今天,它终于当上了梦寐以求的体育课 ...
- HDU 1285 确定比赛名次 拓扑排序(邻接矩阵 邻接表
确定比赛名次 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description ...
- HDU Problem 4857 逃生【拓扑排序+优先队列】
逃生 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- CCF CSP 点亮数字人生(记忆化搜索+拓扑排序判环)
题目背景 土豪大学的计算机系开了一门数字逻辑电路课,第一个实验叫做"点亮数字人生",要用最基础的逻辑元件组装出实际可用的电路.时间已经是深夜了,尽管实验箱上密密麻麻的连线已经拆装了 ...
- HDU 2647 Reward 拓扑排序
http://acm.hdu.edu.cn/showproblem.php?pid=2647 题意: 输入N和M代表N个人和M组数据,M组数据中的A和B代表A的工资要比B的工资高,底薪是(888元), ...
- 【拓扑排序】确定比赛名次
HDU P1285 确定比赛名次 拓扑排序裸题qwq 注意:入度为一的点删掉之后,它的入度要更新为-1 这个题刷出了我人生中第一次PE 可还行qaq 我搜索PE是输出格式与标准输出不符, 结果发现语言 ...
最新文章
- [CareerCup] 8.5 Online Book Reader System 在线读书系统
- OpenFlow Switch — 1.3 规范
- mysql主键索引_MySQL索引之主键索引
- ARMV8虚拟中断的介绍
- 计算机地图制图知识点,地图制图知识点整理
- weblogic 安装教程
- 我们为什么要接受教育
- JVM调优总结(二)
- Jquery .net MVC
- 贵州省获批开展公共资源交易区块链数据共享工作试点
- Linux: Shared MIME
- Laravel5.x 封装的上传图片类
- 重编译 microsip 和 pjsip 支持 mp3 录音
- Spring项目启动时Error creating bean with name ‘xxxxxx‘: Bean with name ‘xxxxxx‘ has been injected into ot
- Android 颜色对照表
- 桶装水同城预订下单送水小程序开发制作(水站桶装水配送系统)
- Python运用Xpath爬取故宫壁纸
- 电脑查看曾经连接上的wifi密码
- 杀毒软件工作原理 及 现在主要杀毒技术
- 哲♂学【前排提醒非题解】