产生冠军(toposort)】的更多相关文章

http://acm.hdu.edu.cn/showproblem.php?pid=2094 #include <stdio.h> #include <iostream> #include <string.h> using namespace std; ; ,in[N]; string name[N]; int get_nameid(string s) { int i; ; i < num; i++) if(name[i]==s) break; if(i >…
产生冠军 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 15238    Accepted Submission(s): 6976 Problem Description 有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛.球赛的规则如下:如果A打败了B,B又打败了C,而A与C之间没有进行过比赛,那么就认定,A一定能打败C…
http://poj.org/problem?id=1270 题意:给一个字符串,然后再给你一些规则,要你把所有的情况都按照字典序进行输出. 思路:很明显这肯定要用到拓扑排序,当然看到discuss里面有些人有bfs也可以做,有时候觉得搜索只要剪枝剪的好,啥都可以用搜索. 因为我也不是很会拓扑排序,所以在找这类的题来练习,增加对其的理解.我就发现了一个问题,为什么拓扑排序要构图? 其实也很简单,因为拓扑排序是对一个有向的无环图进行排序,有向指的是某个点排序后一定是出现在他的前一个点的后面.这个是…
第一题 (Map)利用Map,完成下面的功能: 从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队.如果该 年没有举办世界杯,则输出:没有举办世界杯. 附:世界杯冠军以及对应的夺冠年份,请参考本章附录. 附录 历届世界杯冠军 届数 举办年份 举办地点 冠军 第一届 1930年 乌拉圭 乌拉圭 第二届 1934年 意大利 意大利 第三届 1938年 法国 意大利 第四届 1950年 巴西 乌拉圭 第五届 1954年 瑞士 西德 第六届 1958年 瑞典 巴西 第七届 1962年…
---恢复内容开始--- Genealogical tree Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4875   Accepted: 3236   Special Judge Description The system of Martians' blood relations is confusing enough. Actually, Martians bud when they want and where…
2768: [JLOI2010]冠军调查 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 971  Solved: 661[Submit][Status][Discuss] Description 一年一度的欧洲足球冠军联赛已经进入了淘汰赛阶段.随着卫冕冠军巴萨罗那的淘汰,英超劲旅切尔西成为了头号热门.新浪体育最近在吉林教育学院进行了一次大规模的调查,调查的内容就是关于切尔西能否在今年问鼎欧洲冠军.新浪体育的记者从各个院系中一共抽取了n位同学作为参…
http://poj.org/problem?id=1094 题意:该题题意明确,就是给定一组字母的大小关系判断他们是否能组成唯一的拓扑序列.是典型的拓扑排序,但输出格式上确有三种形式: 1.该字母序列有序,并依次输出: 2.该序列不能判断是否有序 3.该序列字母次序之间有矛盾,即有环存在. 但是注意顺序,必须要先判断环,其次是无序,最后才是有序. #include<iostream> #include<cstring> #include<cstdio> using n…
产生冠军 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 12716    Accepted Submission(s): 5884 Problem Description 有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛. 球赛的规则如下: 如果A打败了B,B又打败了C,而A与C之间没有进行过比赛,那么就认定,A一定能…
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2094 产生冠军 Description 有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛.球赛的规则如下:如果A打败了B,B又打败了C,而A与C之间没有进行过比赛,那么就认定,A一定能打败C.如果A打败了B,B又打败了C,而且,C又打败了A,那么A.B.C三者都不可能成为冠军.根据这个规则,无需循环较量,或许就能确定冠军.你的任务就是面对一群比赛选手,在经过了若干场撕杀之后,确定是否…
题目 //把所有的出现的名字开始默认都为冠军(1),然后输了的置为0,表示不为冠军,最后统计不为0的, //当有且只有一个不为0的,这个就为冠军,否则,不能产生冠军. //以上思路来自别人的博客.. //set可以去重,所以这里用了set //set可以去重,并且自动排序 //数set元素个数要用 s.size() 的啊 #include<stdio.h> #include<string.h> #include<algorithm> #include<iostre…