#1066. 俄罗斯轮盘
俄罗斯轮盘
Description
原题链接 http://codeforces.com/problemset/problem/103/C
有一把左轮手枪,其弹夹可以旋转,里面可以装n颗子弹,为了让上天决定两个人的生死,A在里面放了k颗子弹(k<=n),B将已装好子弹的弹夹,按照自己的意愿旋转,这样旋转后A,B都不知道哪一枪有子弹,A先开枪,但是A为了让自己幸存下来,在放子弹时候,改变了k颗子弹的顺序,使其获胜的概率最大,如果有若干种可能,那么A就按照字典序的顺序排列,为了很好的解释一下字典序排列,举几个例子:
...X.X.. > .....X.X ...X.XX < .X.X.X. ..X > ... .. < .X
也就是说如果两个序列概率一样那么尽量选X靠后的,最后有p个询问,当询问到 i 输出 i 的状态 Xi 表示有子弹,反之没有
Input Format
第一行输入n、k、p,如上文描述。(1 ≤ n ≤ 1e18, 0 ≤ k ≤ n, 1 ≤ p ≤ 1000)
接下来p行代表p个询问:
输入一个xi,代表查询的有子弹还是无子弹 (1 ≤ xi ≤ n)
Output Format
对于每一个询问,输出.或者X
3 1 3
1
2
3
..X