сопоставление с карточной славой? - PullRequest
0 голосов
/ 05 апреля 2020

https://codeforces.com/problemset/problem/1097/A Я пытался решить эту проблему с помощью картографии, и у меня это не получилось (плохо знаком с java). Я пытаюсь попрактиковаться с хэшированием, я настоятельно рекомендую картографическое решение * 1004. *

public class gennady_and_a_card_Game {
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
static PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
    public static void main(String[] args) throws IOException {
        Map<String , String> map = new HashMap<String,String>();
        String input1=br.readLine();
        String input2=br.readLine();
        for(int i =0 ;i<4;i++) {
        map.put(br.readLine(),br.readLine());
    }
    if(map.containsKey(input1)||map.containsValue(input2) {
        System.out.println("YES");
    }
        else {
            System.out.println("false");
    }
    }

}

1 Ответ

0 голосов
/ 05 апреля 2020

Возможно, вы захотите проверить, что вы помещаете на эту карту, чтобы убедиться, что она соответствует ожидаемой. Не зная, что вы вводите для этих readLine заявлений, не ясно, что вы намерены.

В зависимости от проблемы, вы должны читать 2 строки из br, но вы читаете 6. Я думаю, что я могу угадать ваше намерение здесь, поэтому я упомяну, что вы можете захотеть использовать input2.split(" "), чтобы помочь в построении вашей карты

String[] tableCards = "2H 4C TH JH AD".split(" ");
for (String card : tableCards) {
  if (card.length() > 2) System.err.printf("Invalid card %s\n", card);
  else System.out.printf("Table card: %c of %c\n", card.charAt(0), card.charAt(1));
}
// Output:
// Table card: 2 of H
// Table card: 4 of C
// Table card: T of H
// Table card: J of H
// Table card: A of D
...