摘要:
很神奇的一道题。 参考:http://www.cnblogs.com/kuangbin/p/3346037.html题意:“ 题目意思很简单。就是洗牌,抽出奇数和偶数,要么奇数放前面,要么偶数放前面。总共2^N张牌。需要问的是,给了A X B Y 问经过若干洗牌后,第A个位置是X,第B个位置是Y 是不是可能的。题目给的牌编号是1开始的,先转换成0开始。一开始位置是0~2^N-1. 对应的牌是0~2^N-1首先来看每次洗牌的过程。对于第一种洗牌:将奇数放前面,偶数放后面。其实每个位置数的变化就是相当于循环右移一位,然后高位异或1.对于第二种洗牌:讲偶数放前面,奇数放后面。其实每个位置数的变化就. 阅读全文