Submission #1696388


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);
            System.out.println(i);
        }
        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 = 0; i < N; i++) {
                if (adjacents[start].contains(i) && 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 = 0; i < N; i++) {
                if (adjacents[start].contains(i) && 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 2177 Byte
Status WA
Exec Time 2111 ms
Memory 352048 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
WA × 2
WA × 7
TLE × 14
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 WA 106 ms 21716 KB
00_example_02.txt WA 103 ms 21332 KB
01.txt WA 101 ms 19796 KB
02.txt WA 105 ms 21204 KB
03.txt WA 102 ms 20820 KB
04.txt WA 107 ms 21332 KB
05.txt TLE 2111 ms 349852 KB
06.txt TLE 2111 ms 343136 KB
07.txt TLE 2111 ms 350628 KB
08.txt TLE 2107 ms 347388 KB
09.txt WA 103 ms 23124 KB
10.txt TLE 2107 ms 349440 KB
11.txt TLE 2107 ms 349740 KB
12.txt TLE 2107 ms 349696 KB
13.txt TLE 2111 ms 352048 KB
14.txt TLE 2111 ms 348204 KB
15.txt TLE 2111 ms 350584 KB
16.txt TLE 2111 ms 348492 KB
17.txt TLE 2111 ms 346280 KB
18.txt TLE 2111 ms 349168 KB
19.txt TLE 2111 ms 345740 KB