Submission #3005262
Source Code Expand
from collections import defaultdict,deque import sys,heapq,bisect,math,itertools,string,queue,datetime sys.setrecursionlimit(10**8) INF = float('inf') mod = 10**9+7 eps = 10**-7 def inpl(): return list(map(int, input().split())) def inpl_s(): return list(input().split()) N = int(input()) Start,Goal = inpl() Start -= 1 Goal -= 1 M = int(input()) lines = defaultdict(set) for i in range(M): a,b = inpl() #a <-> b コスト:c a,b = a-1,b-1 lines[a].add((b,1)) lines[b].add((a,1)) def search (s,w_0): #s->t global weight global q for line in list(lines[s]): t = line[0] w = w_0 + line[1] if weight[t] > w: heapq.heappush(q, [w,t]) weight[t] = w weight = [INF for i in range(N)] weight[Start] = 0 q = [[0,Start]] heapq.heapify(q) while q: w,n = heapq.heappop(q) search(n,w) DAG = defaultdict(set) for s in range(N): for t,c in lines[s]: if weight[t]-weight[s] == 1: DAG[s].add(t) ans = 0 memo = [-1]*N def azunyan(s): global ans if s == Goal: return 1 elif memo[s] >= 0: return memo[s] else: cnt = 0 for t in DAG[s]: cnt += azunyan(t) memo[s] = cnt return cnt print(azunyan(Start)%mod)
Submission Info
Submission Time | |
---|---|
Task | C - 正直者の高橋くん |
User | simamumu |
Language | Python (3.4.3) |
Score | 100 |
Code Size | 1208 Byte |
Status | AC |
Exec Time | 32 ms |
Memory | 4336 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
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 | 30 ms | 4208 KB |
subtask0_sample_02.txt | AC | 30 ms | 4204 KB |
subtask1_01.txt | AC | 31 ms | 4332 KB |
subtask1_02.txt | AC | 30 ms | 4332 KB |
subtask1_03.txt | AC | 30 ms | 4204 KB |
subtask1_04.txt | AC | 31 ms | 4332 KB |
subtask1_05.txt | AC | 31 ms | 4332 KB |
subtask1_06.txt | AC | 30 ms | 4204 KB |
subtask1_07.txt | AC | 30 ms | 4204 KB |
subtask1_08.txt | AC | 30 ms | 4204 KB |
subtask1_09.txt | AC | 30 ms | 4212 KB |
subtask1_10.txt | AC | 30 ms | 4204 KB |
subtask1_11.txt | AC | 31 ms | 4332 KB |
subtask1_12.txt | AC | 31 ms | 4332 KB |
subtask1_13.txt | AC | 31 ms | 4332 KB |
subtask1_14.txt | AC | 31 ms | 4336 KB |
subtask1_15.txt | AC | 31 ms | 4336 KB |
subtask1_16.txt | AC | 31 ms | 4332 KB |
subtask1_17.txt | AC | 30 ms | 4208 KB |
subtask1_18.txt | AC | 31 ms | 4204 KB |
subtask1_19.txt | AC | 31 ms | 4336 KB |
subtask1_20.txt | AC | 31 ms | 4332 KB |
subtask1_21.txt | AC | 32 ms | 4332 KB |
subtask1_22.txt | AC | 31 ms | 4208 KB |
subtask1_23.txt | AC | 31 ms | 4204 KB |
subtask1_24.txt | AC | 30 ms | 4208 KB |
subtask1_25.txt | AC | 31 ms | 4208 KB |
subtask1_26.txt | AC | 31 ms | 4332 KB |
subtask1_27.txt | AC | 30 ms | 4332 KB |
subtask1_28.txt | AC | 31 ms | 4332 KB |
subtask1_29.txt | AC | 30 ms | 4212 KB |
subtask1_30.txt | AC | 30 ms | 4208 KB |