poj1063】的更多相关文章

题目来源:http://poj.org/problem?id=1063 题目大意: 有一种游戏如图所示.一个填满黑白球的转盘,它可以有两种操作,一种是将大转盘顺时针旋转,所有球的位置顺时针挪一位,另一种是转动小转盘,使位于小转盘处的三个小球颠倒位置.游戏的目标是达到下面的图片所示的状态,黑球与白球都处在连续的位置上. 写一个程序判断给出的球序列是否可能通过上述的两种操作达到目标序列. 输入:第一行为测试用例数T.每个用例第一个数为小球的数目n, 接下来是n个0和1组成的序列,每个数字用空格隔开,…
题意:有一些珠子排成一圈,珠子有两种颜色:黑和白.每次操作可以调换中间隔着一个珠子的两珠子的位置,给出这个圈子的初始状态,问最终能否通过操作让圈子中所有同色的珠子排在一起,即黑白分开. 分析:分两种情况,珠子总数为偶数,那么奇数位置上的珠子无法移动到偶数位上,偶数位的也无法移动到奇数位上,但在奇数位内部和偶数位内部可以自由移动.任何一个连续区间内奇数位和偶数位的数量差都不超过1.因此想要黑色珠子全都连在一起,则要求奇数位上的黑色珠子数量和偶数位上的黑色珠子数量之差的绝对值要小于等于1. 对于第二…