Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.Console;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import java.util.stream.Collectors;
- public class Snowmen {
- public static void main(String[] args) throws IOException {
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- int[] seq = Arrays.stream(reader
- .readLine()
- .split(" "))
- .mapToInt(Integer::parseInt)
- .toArray();
- while (seq.length > 1) {
- List<Integer> losers = new ArrayList<>();
- for (int attacker = 0; attacker < seq.length; attacker++) {
- int target = seq[attacker] % seq.length;
- int diff = Math.abs(attacker - target);
- if (seq.length - losers.size() == 1)
- break;
- if (losers.contains(attacker))
- continue;
- if (attacker == target) {
- System.out.printf("%s performed harakiri%n", attacker);
- losers.add(attacker);
- seq[attacker] = -1;
- } else if (diff % 2 == 0) {
- System.out.printf("%s x %s -> %s wins%n", attacker, target, attacker);
- losers.add(target);
- seq[target] = -1;
- } else {
- System.out.printf("%s x %s -> %s wins%n", attacker, target, target);
- losers.add(attacker);
- seq[attacker] = -1;
- }
- losers = losers.stream()
- .distinct()
- .collect(Collectors.toList());
- }
- seq = Arrays.stream(seq)
- .filter(n -> n > -1)
- .toArray();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement