达卡 2012 Game of MJ

内容目录

n 个显示器,第i个显示器能显示 Li 个数,每个数能显示的范围是0~bi1,显然最后显示的数是一个bi进制的数。一开始这些数均为 0,现在 2 人轮流操作,每次一人选一个显示器上的一个数并将它加上 1(要求不能选个位数,不能进位)。如果操作后,所有显示器显示的数视为bi进制后转成 10 进制的和是 3 的倍数,那么操作这一步的人输。如果没有合法操作算平局。问谁赢。

注意问题可以转化成有若干 0122 人轮流取要求不能是 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);

    }
}
This entry was posted in 未分类.