Submission #1696406


Source Code Expand

import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Queue;
import java.util.Scanner;
import java.util.Stack;

class Main {

    public static void main(String[] args) {
        new Main().compute();
    }

    void compute() {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        List<Integer>[] adjacents = new List[N];
        for (int i = 0; i < N; i++) {
            adjacents[i] = new ArrayList<>();
        }
        for (int i = 0; i < N - 1; i++) {
            int a = sc.nextInt() - 1;
            int b = sc.nextInt() - 1;
            adjacents[a].add(b);
            adjacents[b].add(a);
        }
        int[] fromFennec = new int[N];
        Arrays.fill(fromFennec, N);
        Stack<Integer> stk = new Stack<>();
        fromFennec[0] = 0;
        stk.push(0);
        while (!stk.empty()) {
            int start = stk.pop();
            int dist = fromFennec[start] + 1;
            for (int i : adjacents[start]) {
                if (fromFennec[i] == N) {
                    fromFennec[i] = dist;
                    stk.push(i);
                }
            }
        }
        int[] fromSnuke = new int[N];
        Arrays.fill(fromSnuke, N);
        fromSnuke[N - 1] = 0;
        stk.push(N - 1);
        while (!stk.empty()) {
            int start = stk.pop();
            int dist = fromSnuke[start] + 1;
            for (int i : adjacents[start]) {
                if (fromSnuke[i] == N) {
                    fromSnuke[i] = dist;
                    stk.push(i);
                }
            }
        }
        int sum = 0;
        for (int i = 0; i < N; i++) {
            if (fromFennec[i] > fromSnuke[i]) {
                sum++;
            }
        }
        if (sum >= N / 2) {
            System.out.println("Snuke");
        } else {
            System.out.println("Fennec");
        }
    }
}

Submission Info

Submission Time
Task D - Fennec VS. Snuke
User packer_jp
Language Java8 (OpenJDK 1.8.0)
Score 0
Code Size 2083 Byte
Status WA
Exec Time 725 ms
Memory 103340 KB

Compile Error

Note: ./Main.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 400
Status
AC × 2
AC × 18
WA × 3
Set Name Test Cases
Sample 00_example_01.txt, 00_example_02.txt
All 00_example_01.txt, 00_example_02.txt, 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt
Case Name Status Exec Time Memory
00_example_01.txt AC 93 ms 21588 KB
00_example_02.txt AC 91 ms 19924 KB
01.txt AC 90 ms 18768 KB
02.txt AC 92 ms 20688 KB
03.txt WA 93 ms 19540 KB
04.txt WA 92 ms 21844 KB
05.txt AC 612 ms 78920 KB
06.txt AC 725 ms 82760 KB
07.txt WA 618 ms 76684 KB
08.txt AC 684 ms 86052 KB
09.txt AC 92 ms 21588 KB
10.txt AC 632 ms 75148 KB
11.txt AC 648 ms 89260 KB
12.txt AC 643 ms 86260 KB
13.txt AC 677 ms 100156 KB
14.txt AC 687 ms 94964 KB
15.txt AC 687 ms 99596 KB
16.txt AC 658 ms 103340 KB
17.txt AC 670 ms 102992 KB
18.txt AC 660 ms 100456 KB
19.txt AC 670 ms 101032 KB