Submission #4029235


Source Code Expand

import java.util.*;
import static java.lang.System.*;
import static java.lang.Math.*;
public class Main {
    public static void main(String[] $) {
        Scanner sc = new Scanner(in);
        int N=sc.nextInt();
        int a=sc.nextInt(),b=sc.nextInt();
        int M=sc.nextInt();
        int mod=1000000007;
        long[] min=new long[N+1];
        for (int i = 0; i <= N; i++) min[i] = mod;
        min[a]=0;
        long[] count=new long[N+1];
        count[a]=1;
        int[] node=new int[N+1];
        LinkedList<Integer>[] edge=new LinkedList[N+1];
        for(int i=0;i<N+1;i++)edge[i]=new LinkedList<>();
        for (int i = 0; i <M; i++) {
            int x=sc.nextInt(),y=sc.nextInt();
            edge[x].add(y);
            edge[y].add(x);
        }
        Queue<Integer> q=new ArrayDeque<>();
        q.add(a);
        Queue<Long> dist=new ArrayDeque<>();
        dist.add(0l);
        while (q.size()>0){
            int vertex=q.poll();
            long d=dist.poll();
            min[vertex]=min(min[vertex],d);
            for (Integer child:edge[vertex]){
                edge[child].remove((Integer)vertex);
                q.add(child);
                dist.add(d+1);
            }
        }
        q.add(a);
        dist.add(0l);
        while (q.size()>0){
            int vertex=q.poll();
            long d=dist.poll();
            if(node[vertex]==0) {
                for (Integer child : edge[vertex]) {
                    if(min[child]==d+1)count[child] = (count[child] + count[vertex]) % mod;
                    if (!q.contains(child)) {
                        q.add(child);
                        dist.add(d + 1);
                    }
                }
                node[vertex]=1;
            }
        }
        out.println(count[b]);
    }
}

Submission Info

Submission Time
Task C - 正直者の高橋くん
User NS601023
Language Java8 (OpenJDK 1.8.0)
Score 0
Code Size 1848 Byte
Status TLE
Exec Time 2110 ms
Memory 552968 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 / 100
Status
AC × 2
AC × 27
TLE × 4
MLE × 1
Set Name Test Cases
Sample subtask0_sample_01.txt, subtask0_sample_02.txt
All subtask0_sample_01.txt, subtask0_sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt
Case Name Status Exec Time Memory
subtask0_sample_01.txt AC 98 ms 18640 KB
subtask0_sample_02.txt AC 96 ms 22996 KB
subtask1_01.txt AC 111 ms 21716 KB
subtask1_02.txt AC 107 ms 21204 KB
subtask1_03.txt AC 96 ms 18636 KB
subtask1_04.txt TLE 2110 ms 333580 KB
subtask1_05.txt TLE 2110 ms 549448 KB
subtask1_06.txt AC 117 ms 18772 KB
subtask1_07.txt AC 134 ms 21460 KB
subtask1_08.txt AC 111 ms 19924 KB
subtask1_09.txt AC 118 ms 19924 KB
subtask1_10.txt AC 111 ms 19796 KB
subtask1_11.txt AC 240 ms 47120 KB
subtask1_12.txt TLE 2106 ms 274688 KB
subtask1_13.txt AC 229 ms 39056 KB
subtask1_14.txt MLE 1931 ms 552968 KB
subtask1_15.txt TLE 2110 ms 551536 KB
subtask1_16.txt AC 110 ms 21204 KB
subtask1_17.txt AC 112 ms 19668 KB
subtask1_18.txt AC 110 ms 21716 KB
subtask1_19.txt AC 132 ms 19540 KB
subtask1_20.txt AC 131 ms 23892 KB
subtask1_21.txt AC 122 ms 20948 KB
subtask1_22.txt AC 109 ms 18900 KB
subtask1_23.txt AC 112 ms 19284 KB
subtask1_24.txt AC 108 ms 19668 KB
subtask1_25.txt AC 108 ms 19028 KB
subtask1_26.txt AC 110 ms 19284 KB
subtask1_27.txt AC 107 ms 21204 KB
subtask1_28.txt AC 119 ms 19540 KB
subtask1_29.txt AC 109 ms 18896 KB
subtask1_30.txt AC 97 ms 21716 KB