yukicoder No.24 数当てゲーム

Problem

No.24 数当てゲーム - yukicoder

Solution

思い浮かべた数字が含まれているときには、提示された4つの数字に+1、 含まれていないときには4つの数字に-1する。 あんまりいい表現が思いつかないので下のテーブルを見てもらえればいいと思います。 サンプルの3で表すとこんな感じ。

turn 0 1 2 3 4 5 6 7 8 9
1 -1 -1 -1 -1 NO
2 +1 +1 +1 +1 YES
3 +1 +1 +1 +1 YES
4 -1 -1 -1 -1 NO
SUM 1 1 -1 -1 2 -1 -1 1 0 -1

このテーブルを見ると思い浮かべた数字は4だとわかる。

Code

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;


public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(reader.readLine());

        int[] a = new int[10];

        int maxDuplication = 0;

        for (int i = 0; i < N; i++) {
            String[] line = reader.readLine().split(" ");
            String answer = line[4];

            if (answer.equals("YES")) {
                for (int j = 0; j < 10; j++) {
                    for (int k = 0; k < 4; k++) {
                        if (j == Integer.parseInt(line[k])) {
                            a[j] = a[j] + 1;
                        }
                    }
                }
                maxDuplication += 1;
            } else {
                for (int j = 0; j < 10; j++) {
                    for (int k = 0; k < 4; k++) {
                        if (j == Integer.parseInt(line[k])) {
                            a[j] = a[j] - 1;
                        }
                    }
                }
            }
        }


        for (int i = 0; i < 10; i++) {
            if (a[i] == maxDuplication) {
                System.out.println(i);
            }
        }

    }
}
Remove all ads