Submission #1210161

#TimeUsernameProblemLanguageResultExecution timeMemory
1210161bisonbisonDrivers (BOI24_drivers)Pypy 3
0 / 100
168 ms51576 KiB
from heapq import heappush, heappop

elements = [0,1,2,3,4,5]
sizes = [0,0,0,0]

def find_root(a):
    if elements[a] == a:
        return a
    
    elements[a] = find_root(elements[a])
    return elements[a]

def unite(a,b):
    a = find_root(a)
    b = find_root(b)
    if a==b:return 0

    elements[a] = b

n,m,u = [int(x) for x in input().split()]

roads = []
for i in range(m):
    a,b,t = [int(x) for x in input().split()]
    roads.append((t, a-1,b-1))

queeries = []
for querry in range(u):
    a,b,p = [int(x) for x in input().split()]
    queeries.append((p, a-1,b-1, querry))


queeries = sorted(queeries)
roads = sorted(roads)

t = 0
c = 0
d = 0

answere = []

for i in range(u):
    p, a, b, q = heappop(queeries)

    while t <= p:
        if t <= p:
            unite(c,d)
        try:
            t, c, d = heappop(roads)
        except:
            break
        
    if find_root(a) == find_root(b):
        answere.append((q, "TAIP"))
    else:
        answere.append((q,"NE"))

answere = sorted(answere)
for a in answere:
    print(a[1])

Compilation message (stdout)

Compiling 'Main.py'...

=======
  adding: __main__.pyc (deflated 47%)

=======
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...