安徽省2016“京胜杯”程序设计大赛_K_纸上谈兵
2016-10-30 12:43
711 查看
纸上谈兵
庞涓出题:“如果我给出一组城池间相互约束的关系,你能否给我一个攻城方案,…….”
孙膑出题:“如果从1号城池出发,到达N号城池,请问最多有几条最近的路?我对不同的最近的路有两种定义,第一种:‘如果两条路径有一条边不相同,就认为这两条路径不同’,第二种‘如果两条路径有一条边相同,就认为相同’,请告诉我在这两种不同定义下,各自答案是多少”
由于地图很大,图上大大小小的城池很多,两人对着图一时有点迷糊,这就很尴尬了!
据说当时缓解这尴尬局面的一位来自未来的神奇少年,背地里相互告诉他们各自的答案,这人莫非就是你?
每组第一行三个正整数N,M,K(500>N>0,10000>M>0,50000>K>0),表示表示有N个城池,M条边,K组约束关系。
接下里M行,每行3个正整数a,b,w(N>=a,b>=1,1000000>w>0),表示a,b之间有条边,长度为w。
接下来K行,每行有下面几种形式:
1 a b :表示如果攻打城池a,则必须攻打城池b。
2 a b :表示城池a,b至少攻打一个。
3 a b :表示如果城池a攻打了,则城池b不能攻打。
4 a b :表示如果城池a没有攻打,则城池b必须攻打。
5 a b :表示城池a与城池b只能都攻打或者都不攻打。
(N>=a,b>=1)
第一行输出孙膑给的方案,N个数,如果城池i攻打,输出1,反之输出0,这N个数构成的01序列代表一个方案。如果不存在方案,输出“impossible.”
第二行输出庞涓的第一个解,输出按第一种定义下的最短路;第三行输出庞涓的第二个解,输出按第二种定义下的最短路。如果不存在最短路,输出“-1”
5 6 5
1 2 3
2 4 4
4 5 1
1 3 5
3 4 2
3 5 3
1 1 2
1 2 1
2 1 2
3 1 4
4 3 5
3 3 5
1 2 10
2 3 10
1 3 20
1 1 2
1 2 1
2 1 2
3 1 3
1 2 3
3
2
impossible.
2
2
Time Limit: 1000 MS | Memory Limit: 65536 KB |
Total Submissions: 3 | Accepted: 1 |
Description
战国时期,孙膑与庞涓都拜在鬼谷子门下学习。有一日师父鬼谷子想考察他们兵法,对着墙上挂着的一幅当时城池地图(假设城池编号从1到N,相邻城池之间有边相连),让他们自己相互考察:庞涓出题:“如果我给出一组城池间相互约束的关系,你能否给我一个攻城方案,…….”
孙膑出题:“如果从1号城池出发,到达N号城池,请问最多有几条最近的路?我对不同的最近的路有两种定义,第一种:‘如果两条路径有一条边不相同,就认为这两条路径不同’,第二种‘如果两条路径有一条边相同,就认为相同’,请告诉我在这两种不同定义下,各自答案是多少”
由于地图很大,图上大大小小的城池很多,两人对着图一时有点迷糊,这就很尴尬了!
据说当时缓解这尴尬局面的一位来自未来的神奇少年,背地里相互告诉他们各自的答案,这人莫非就是你?
Input
先输入一个整数T,表示T(T<50)组数据。每组第一行三个正整数N,M,K(500>N>0,10000>M>0,50000>K>0),表示表示有N个城池,M条边,K组约束关系。
接下里M行,每行3个正整数a,b,w(N>=a,b>=1,1000000>w>0),表示a,b之间有条边,长度为w。
接下来K行,每行有下面几种形式:
1 a b :表示如果攻打城池a,则必须攻打城池b。
2 a b :表示城池a,b至少攻打一个。
3 a b :表示如果城池a攻打了,则城池b不能攻打。
4 a b :表示如果城池a没有攻打,则城池b必须攻打。
5 a b :表示城池a与城池b只能都攻打或者都不攻打。
(N>=a,b>=1)
Output
每组数据输出占三行:第一行输出孙膑给的方案,N个数,如果城池i攻打,输出1,反之输出0,这N个数构成的01序列代表一个方案。如果不存在方案,输出“impossible.”
第二行输出庞涓的第一个解,输出按第一种定义下的最短路;第三行输出庞涓的第二个解,输出按第二种定义下的最短路。如果不存在最短路,输出“-1”
Sample Input
25 6 5
1 2 3
2 4 4
4 5 1
1 3 5
3 4 2
3 5 3
1 1 2
1 2 1
2 1 2
3 1 4
4 3 5
3 3 5
1 2 10
2 3 10
1 3 20
1 1 2
1 2 1
2 1 2
3 1 3
1 2 3
Sample Output
1 1 0 0 13
2
impossible.
2
2
Hint
第一组样例中:孙膑的答案表示 攻打1 2 5,不攻打3 4。庞涓的第一个解:1->2->4->5, 1->3->4->5, 1->3->5。第二个解:1->2->4->5, 1->3->5相关文章推荐
- 安徽省2016“京胜杯”程序设计大赛_D_梯田AGAIN
- 安徽省2016“京胜杯”程序设计大赛_E_转啊转
- 安徽省2016“京胜杯”程序设计大赛_F_吃在工大
- 安徽省2016“京胜杯”程序设计大赛_G_木条染色
- 安徽省2016“京胜杯”程序设计大赛_I_恶魔A+B
- 安徽省2016“京胜杯”程序设计大赛_J_YZK的大别墅
- 安徽省2016“京胜杯”程序设计大赛_H_单身晚会
- 安徽省2016“京胜杯”程序设计大赛_A_砝码称重
- 安徽省2016“京胜杯”程序设计大赛_B_阵前第一功
- 安徽省2016“京胜杯”程序设计大赛_C_箭无虚发
- H.图像匹配(安徽省2014年“京胜杯”大学生程序设计竞赛)
- 2015年安徽省程序设计大赛题,梯田问题题解
- 2016 "Bird Cup" ICPC7th@ahstu--“波导杯”安徽科技学院第七届程序设计大赛
- 〖2016〗吉首大学第六届新星杯暨程序设计大赛(新生网络同步赛)-题解
- 2016湖南省程序设计大赛acm : A题
- 2016江苏省大学生程序设计大赛 JSCPC 总结
- NYOJ-168-房间安排(第三届河南省程序设计大赛A题)
- 1881: 蛤玮的机房 郑轻第八届程序设计大赛
- 第三届河南省程序设计大赛-NYOJ-250-ROOM ASSIGNATION
- “英特尔杯”全国计算机多核程序设计大赛复赛试题-第三题