博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NYOJ 496 [巡回赛-拓扑排序]
阅读量:4557 次
发布时间:2019-06-08

本文共 1373 字,大约阅读时间需要 4 分钟。

链接:

题意:

巡回赛

时间限制:
1000 ms  |  内存限制:
65535 KB
难度:
3
描写叙述
世界拳击协会(WBA)是历史最悠久的世界性拳击组织,孕育了众多的世界冠军,尤其是重量级,差点儿造就了大家耳熟能详的所有伟大的拳王。

阿里、弗雷泽、福尔曼被称为“70年代重量级拳坛 三巨头”,是当之无愧的拳王,他们的得到的金腰带都刻有 WBA 字样。为庆贺世界拳击协会成立 50 周年,WBA 主席门多萨邀请 N 名拳击手进行了 M 场巡回比赛,每场比赛均可分出胜负,比赛过后组委会要对 N 名选手进行排序,对于每名拳手,必须满足该拳手所战胜过的对手所有排在其后才干对该排名惬意。

现给出 M 场比赛的胜负关系,请你帮组委会决定是否可以唯一确定这种排名,使得全部的拳击手都惬意,若能唯一确定则输出终于排名。

输入
第一行给出測试数据的组数 T(0<T<30),对于每组測试数据,首先依次给出N(1<=N<=26),M(0<=M<=1000)分别表示拳手数和比赛数,拳手的姓名依次为从 A開始的前 N 个大写字母,接下 M 行给出每场比赛的比赛结果,每行由两个大写字母组成,两者之间有一空格。
如 “A B”则表示在某场比赛中 A 战胜了 B。
输出
对于每组測试,若不存在唯一的排名序列则单行输出“No Answer”,若存在则按排名从高至低输出拳手的名字。
例子输入
34 4A BA CB CC D4 4A BA CB DC D3 3A BB AA C
例子输出
ABCDNo AnswerNo Answer
来源
【解题思路】:

   DFS实现拓扑排序

代码:

#include 
#include
#include
#include
using namespace std;const int maxn =30;int t,n,m,V,i,j;int g[maxn],topo[maxn],G[maxn][maxn];bool DFS(int u) //DFS实现拓扑排序{ g[u] = -1; //開始訪问该顶点 for(int v=0; v
>nca; while(nca--) { memset(G,0,sizeof(G)); cin>>V>>m; for(i = 0; i < m; i++) { cin>>a>>b; G[(a[0]-'A')][(b[0]-'A')] = 1; } if(AOV_toposort()) { bool flag= true; for(i=0; i

转载于:https://www.cnblogs.com/wzjhoutai/p/7137803.html

你可能感兴趣的文章
bzoj 3507 DP+哈希
查看>>
递归问题==优化 还有数据库sqlreader
查看>>
IOS第四天(2:字典转模型plist)
查看>>
什么是数据集
查看>>
Android开发数据库三层应用-DataSnap
查看>>
关于setTimeout运行机制
查看>>
2019 Multi-University Training Contest 4
查看>>
学号 《信息安全系统设计基础》第7周学习总结(一)
查看>>
POJ1741Tree [点分治]【学习笔记】
查看>>
BZOJ 3238: [Ahoi2013]差异 [后缀自动机]
查看>>
memcache 启动 failed to start
查看>>
欧拉函数与欧拉定理
查看>>
fzyzojP2984 -- 序列变换问题
查看>>
30多条mysql数据库优化方法,千万级数据库记录查询轻松解决
查看>>
【字符集】字符集和编码知识【转】
查看>>
Borg Maze(MST & bfs)
查看>>
使用 CSS 的 :before 和 :after 选择器做一个箭头样式
查看>>
上帝模式~~~有效的隐藏文件!
查看>>
CODE[VS] 2291 糖果堆
查看>>
Bzoj2673 3961: [WF2011]Chips Challenge 费用流
查看>>