Submission #1195362


Source Code Expand

# -*- coding: utf-8 -*-
import math,string,itertools,fractions,heapq,collections,re,array,bisect,sys

def s():
    return raw_input().strip()
def n():
    return int(raw_input())
def d():
    return float(raw_input())

def ls():
    return raw_input().strip().split()
def ln():
    return map(int, raw_input().strip().split())
def ld():
    return map(float, raw_input().strip().split())

def fs():
    return [raw_input().strip() for i in xrange(input())]
def fn():
    return [int(raw_input().strip()) for i in xrange(input())]
def fd():
    return [float(raw_input().strip()) for i in xrange(input())]

EPS = 1e-9

#http://www.deqnotes.net/acmicpc/2d_geometry/lines
def dot(a, b):
    return a.real * b.real + a.imag * b.imag

def cross(a, b):
    return a.real * b.imag - a.imag * b.real

def distance(a, b, c):
    if dot(b-a, c-a) <= EPS:
        return abs(c-a)
    if dot(a-b, c-b) <= EPS:
        return abs(c-b)
    return abs(cross(b-a, c-a)/(b-a))

def dijkstra(s):
    dist = z[:]
    dist[s] = 0
    heap = []
    heapq.heappush(heap, (0, s))
    
    while heap:
        dd, v = heapq.heappop(heap)
        dv = dist[v]
        if dv < dd:
            continue
        for i in path[v]:
            dvi = 1
            if dist[i] > dv + dvi:
                dist[i] = dv + dvi
                heapq.heappush(heap, (dist[i], i))
    return dist

N, M = ln()

z = [10000000] * (N + 1)

path = collections.defaultdict(list)
for i in xrange(M):
    a, b = ln()
    path[a].append(b)
    path[b].append(a)


Q = n()
VDC = []
for i in xrange(Q):
    v, d, c = ln()
    VDC.append((v, d, c))

if N > 2000 or M > 2000 or Q > 2000:
    sys.exit(0)

distance = [[]]
for i in xrange(1, N + 1):
    distance.append(dijkstra(i))

color = [0] * (N + 1)
for v, d, c in VDC:
    for i, b in enumerate(distance[v]):
        if b <= d:
            color[i] = c

for c in color[1:]:
    print c

Submission Info

Submission Time
Task B - Splatter Painting
User mugenen
Language PyPy2 (5.6.0)
Score 0
Code Size 1979 Byte
Status WA
Exec Time 2109 ms
Memory 85400 KB

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 0 / 200 0 / 500
Status
AC × 2
AC × 17
TLE × 2
AC × 17
WA × 16
TLE × 2
Set Name Test Cases
Sample 00_example_01.txt, 00_example_02.txt
Subtask1 00_example_01.txt, 00_example_02.txt, 10_01.txt, 10_02.txt, 10_03.txt, 10_04.txt, 10_05.txt, 10_06.txt, 10_07.txt, 10_08.txt, 10_09.txt, 10_10.txt, 10_11.txt, 10_12.txt, 10_13.txt, 10_14.txt, 10_15.txt, 10_16.txt, 10_17.txt
All 00_example_01.txt, 00_example_02.txt, 10_01.txt, 10_02.txt, 10_03.txt, 10_04.txt, 10_05.txt, 10_06.txt, 10_07.txt, 10_08.txt, 10_09.txt, 10_10.txt, 10_11.txt, 10_12.txt, 10_13.txt, 10_14.txt, 10_15.txt, 10_16.txt, 10_17.txt, 20_01.txt, 20_02.txt, 20_03.txt, 20_04.txt, 20_05.txt, 20_06.txt, 20_07.txt, 20_08.txt, 20_09.txt, 20_10.txt, 20_11.txt, 20_12.txt, 20_13.txt, 20_14.txt, 20_15.txt, 20_16.txt
Case Name Status Exec Time Memory
00_example_01.txt AC 506 ms 34792 KB
00_example_02.txt AC 58 ms 33256 KB
10_01.txt AC 200 ms 36632 KB
10_02.txt AC 60 ms 33256 KB
10_03.txt AC 60 ms 33256 KB
10_04.txt AC 59 ms 33256 KB
10_05.txt AC 219 ms 36504 KB
10_06.txt AC 61 ms 33128 KB
10_07.txt AC 107 ms 57240 KB
10_08.txt AC 1467 ms 71960 KB
10_09.txt AC 1601 ms 71832 KB
10_10.txt AC 1569 ms 72728 KB
10_11.txt AC 1527 ms 71320 KB
10_12.txt AC 1627 ms 72728 KB
10_13.txt AC 1699 ms 66712 KB
10_14.txt AC 1669 ms 66456 KB
10_15.txt AC 1612 ms 64920 KB
10_16.txt TLE 2109 ms 84248 KB
10_17.txt TLE 2109 ms 85400 KB
20_01.txt WA 357 ms 69784 KB
20_02.txt WA 371 ms 69784 KB
20_03.txt WA 353 ms 69784 KB
20_04.txt WA 155 ms 36504 KB
20_05.txt WA 114 ms 34020 KB
20_06.txt WA 116 ms 35172 KB
20_07.txt WA 113 ms 34276 KB
20_08.txt WA 193 ms 45848 KB
20_09.txt WA 115 ms 34276 KB
20_10.txt WA 168 ms 44952 KB
20_11.txt WA 208 ms 50072 KB
20_12.txt WA 269 ms 55704 KB
20_13.txt WA 324 ms 68120 KB
20_14.txt WA 331 ms 72088 KB
20_15.txt WA 313 ms 77848 KB
20_16.txt WA 321 ms 77720 KB