跳到主要内容
图灵 OJTURING / ONLINE JUDGE

#F0205. #2213. 「SCOI2014」方伯伯打扑克

    ID: 211 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>待分类整理状态难度待定难度共享题库LibreOJ中文题面题目来源题面语言

#2213. 「SCOI2014」方伯伯打扑克

题目描述

方伯伯有一些空白的扑克(?)牌。方伯伯想要用这些牌来玩一个数学游戏。

方伯伯首先决定好他要用这些空白的扑克牌组成 个牌堆,每一堆牌的张数都是 的整数次幂。确切地说,第 堆(注意:从 开始计数)牌将会有 张牌。方伯伯首先决定好第 堆牌要有 张牌,然后将这堆牌从上到下按次序标记 的十进制数字。

方伯伯开始游戏前决定要先洗牌,他决定好要洗 次牌。他洗牌有一个固定的模式,每次洗牌操作等同于以下两个步骤的操作:

  1. 将所有奇数位上的牌依次取出组成新的一堆牌。
  2. 将新的一堆牌放在旧有的牌前面。

如当 时,第 堆牌从上到下一开始为 12345678,洗一次牌得到 13572468,洗两次牌得到 15263748

洗完牌后,方伯伯在心中决定好把其中从上往下数第 到第 张牌上的数字均加上一个数字 ,并依次(转换成二进制)异或之后得到一个异或值;方伯伯把第 堆牌的这个异或值取模 mod2n01 的值记作 。

类似地,方伯伯将按同样的方式用剩下的 个牌堆。具体地说,他决定按照如下几个公式来对每一堆牌组进行游戏:

  1. 对于第 堆牌,牌堆中将会有 张牌,并从上到下标有 的十进制整数。其中,ni=(ansi1+i1)mod5+base, 是一个方伯伯事先决定好的正整数。
  2. 方伯伯将会先决定好自己用来游戏的牌处于牌堆中的什么位置。方伯伯首先决定好他要看的第一张牌应该是第 张,其中 li=(2ansi1+li1+i1)mod2ni+1
  3. 方伯伯接着决定他要看的最后一张牌应该是第 张,其中 ri=(ansi1+1+l1mod2ni/22ni/2)mod2ni+1
  4. 因为上面两个式子并不简单,有可能会产生 的结果,此时将它们的值互换。
  5. 想好自己要看什么牌后,方伯伯就会以此决定自己要洗 次牌,其中 xi=(rili+ti1+i)mod2ni
  6. 方伯伯同时还会想好他要给每张牌要加上数字的是 ,其中 ti=(li+ri)mod2ni
  7. 方伯伯洗完牌后,把其中从上往下数第 到第 张牌上的数字均加上数字 ,并依次(转换成二进制)异或之后得到一个异或值;方伯伯把第 堆牌的这个异或值取模 mod2ni1 的值记作 ,接着回到第一步玩下一个牌堆。

方伯伯听说你有高超的信息学能力,他想知道你能否在他完成游戏前就算出最后一个牌堆,即第 个牌堆,得到的游戏结果 。你能做到吗?

输入格式

第一行包含一个整数 ,表示牌组的个数。 接下来一行包含六个整数,分别为 。

输出格式

输出为一个数,表示最后的答案。

样例

样例输入

2
5 1 4 27 3 15

样例输出

2700

数据范围与提示

对于所有数据,


题目来源:fps-loj-small-pics.zip;FPS 共享题包,题包内第 94 题。保留原作者与原赛事署名。