好吧,我承认,我屈服了,那个题(ZOJ1245 || POJ1471)我现在实在写不出来,那就换题吧……
我找到了这个题,不为别的,就因为它描述短……
但其实人家不好欺负的,弄懂题意好难啊……
开始一直不明白题意,我就不明白了那个实例是咋来的,后来在帖子区看到一位前辈提示,一针见血,于是就明白了题意:
是说有一张图,上面的路径都是着色的,开始的时候有3个盘子在确定的点上,现在让你按要求沿图中的路径移动盘子(一步只能移动一只盘子),问是否能将3个盘子都移到同一个点上,如果可以,输出需要的最少步数,否则输出“impossible”。
注意这句话:The following constraint is imposed on this: the piece may only be moved along arrows of the same colour as the arrow between the two opponents' pieces.
意思是,每个盘子只能沿着这样一条路移动,这条路的颜色和另外的两个盘子之间的路径上标记的颜色是一样的。
当然,这道题给的是完全图,也就是说图上每两个点之间都有路径存在,它们标记的都有颜色。
思路嘛,不是我想出来的,是看了人家的说,bfs爆解……
代码的原创性也不是很高,这个是因为我觉得那哥们的 bfs() 写的好风骚,于是就果断放弃自己冗长的代码,照着人家的写的