娱乐题:走狗的逆袭[提交答案水题] Beta Round #4 (湖北省队互测Week2)
每个测试点时限 1s 内存限制 256MB
背景
作为走狗的你突然觉醒了:我是地球人!我为什么要为喵星人当走狗!于是,你开始策划了一件惊天动地的大事……
描述
如果机房马上要关门了,或者你急着要和MM约会,请直接跳到第六个自然段。
第二段。
第三段。
第四段。
第五段。
给你一个图【喵星地图】,这个图一共有n个城市(编号1-n),以及若干条边,每条边符合以下条件的一条或多条:
1.无向边
2.有向边(与1不会同时存在)
3.阿尔法边(这些边必须走两次)
4.贝塔边(贝塔边一定是有向边且不为阿尔法边,当经过与该边相连的某个定点时,这条边的方向会改变)
此外还有0个或两个点(称为QWQ点) 满足当到达其中一个点时,会被立即传送到另外一个点。
现在你的任务是,给出一条路径,一次性走完所有边。走完的定义是非阿尔法边需要且仅能经过一次,阿尔法边需要且仅能经过两次。
说白了 这题就是一笔画……
输入格式
第一行一个整数Na,代表数据编号。
第二行两个整数n,m,q,代表城市数,路径数,QWQ点数。
接下来q行 每行一个数,表示QWQ点的编号
接下来m行,给出m条边以及边的性质,给出方式如:
1 2 101 1
其中:“1 2”指边的起点和终点;黄1指符合条件2(即该边由1指向2,若为0指符合条件1),绿0指不符合条件3,绿1指符合条件4.对于符合条件四的边 会在后面跟一个节点编号a,即为题述中的定点。
又如:
1 2 110 表示这是连接1,2,需要走两次的无向边。
输出格式
第一行一个整数,表示数据编号。
第二行一个整数,表示起点(起点为QWQ点时不会跳转)。
此后若干行,每行两个整数X,Y,表示这一步走的起点和终点。
样例输入
1 8 10 2 3 6 1 2 000 2 3 000 3 4 000 5 6 000 6 7 000 7 8 000 5 1 100 6 2 000 7 3 000 8 4 100
样例输出
1 7 7 8 8 4 4 3 6 5 5 1 1 2 2 6 3 7 7 6 3 2
样例提交
var n:integer; begin readln(n); case n of 1:begin writeln('1'); writeln('7'); writeln('7 8'); writeln('8 4'); writeln('4 3'); writeln('6 5'); writeln('5 1'); writeln('1 2'); writeln('2 6'); writeln('3 7'); writeln('7 6'); writeln('3 2'); end; end.
数据范围与约定
n<=21,m<=50,q=0或2,数据有8组
样例解释
如下图所示:
特别注意
这题作者是作为提交答案题出的!当然你也可以当作常规题做。所有的数据可以在http://www.pauby89.com/hbweek2.html下载到
你只需要写一个程序(case i of之类的)把答案提交上来就可以了。[其实输入数据包里已经有一个工具帮你生成这样的程序了(Pascal),看看源代码你就懂了]
来源
小游戏