内容目录
有 n 个显示器,第i个显示器能显示 Li 个数,每个数能显示的范围是0~bi−1,显然最后显示的数是一个bi进制的数。一开始这些数均为 0,现在 2 人轮流操作,每次一人选一个显示器上的一个数并将它加上 1(要求不能选个位数,不能进位)。如果操作后,所有显示器显示的数视为bi进制后转成 10 进制的和是 3 的倍数,那么操作这一步的人输。如果没有合法操作算平局。问谁赢。
注意问题可以转化成有若干 0,1,2,2 人轮流取要求不能是 3 的倍数。这个问题的答案是显然的。
import java.io.*;
import java.util.*;
import java.math.*;
public class B
{
static int[] a=new int[1234567];
public static void main(String args[])
{
Scanner cin = new Scanner(System.in);
int n,m,k;
n = cin.nextInt();
m = cin.nextInt();
k = cin.nextInt();
int dis=10000,p;
for(int i=1;i<=n;i++) {
p=cin.nextInt();
int d=i-m;
if(d<0) d=-d;
if (p>0 && p<=k &&dis>d ) {
dis=d;
}
}
System.out.println(dis*10);
}
}