Submission #66772624


Source Code Expand

Copy
N,M=map(int,input().split())
G=[[] for _ in range(N)]
for i in range(M):
a,b,w=map(int, input().split())
a-=1
b-=1
G[a].append((b,w))
flag=[0]*N
dist=[0]*N
bas=[]
st=[(0,0)]
flag[0]=1
dist[0]=0
while st:
u,idx=st[-1]
if idx<len(G[u]):
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
N,M=map(int,input().split())
G=[[] for _ in range(N)]
for i in range(M):
    a,b,w=map(int, input().split())
    a-=1
    b-=1
    G[a].append((b,w))

flag=[0]*N
dist=[0]*N
bas=[]


st=[(0,0)]
flag[0]=1
dist[0]=0

while st:
    u,idx=st[-1]
    if idx<len(G[u]):
        v,w=G[u][idx]
        st[-1]=(u,idx+1)

        if flag[v]==0:
            flag[v]=1
            dist[v]=dist[u]^w
            st.append((v,0))
        elif flag[v]==1:
            c=dist[u]^w^dist[v]
            for b in bas:
                c=min(c,c^b)
                
            if c:
                bas.append(c)
                bas.sort(reverse=True)
                
                for i in range(len(bas)):
                    for j in range(i+1,len(bas)):
                        bas[j]=min(bas[j],bas[j]^bas[i])
    else:
        flag[u]=2
        st.pop()


if flag[-1]==0:
    print(-1)
    exit()


ans=dist[-1]
for b in bas:
    ans=min(ans,ans^b)
print(ans)

Submission Info

Submission Time
Task D - XOR Shortest Walk
User kotafuku
Language Python (PyPy 3.10-v7.3.12)
Score 0
Code Size 1007 Byte
Status WA
Exec Time 82 ms
Memory 81828 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 400
Status
AC × 3
AC × 31
WA × 2
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, hand_05.txt, hand_06.txt, hand_07.txt, hand_08.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, random_21.txt, random_22.txt, sample_01.txt, sample_02.txt, sample_03.txt
Case Name Status Exec Time Memory
hand_01.txt AC 64 ms 76604 KiB
hand_02.txt AC 63 ms 76672 KiB
hand_03.txt AC 65 ms 76760 KiB
hand_04.txt AC 65 ms 76392 KiB
hand_05.txt AC 65 ms 76720 KiB
hand_06.txt WA 64 ms 76356 KiB
hand_07.txt AC 64 ms 76384 KiB
hand_08.txt WA 64 ms 76516 KiB
random_01.txt AC 62 ms 76464 KiB
random_02.txt AC 71 ms 80988 KiB
random_03.txt AC 63 ms 76632 KiB
random_04.txt AC 69 ms 76488 KiB
random_05.txt AC 65 ms 76520 KiB
random_06.txt AC 66 ms 76424 KiB
random_07.txt AC 65 ms 76528 KiB
random_08.txt AC 75 ms 81216 KiB
random_09.txt AC 69 ms 76400 KiB
random_10.txt AC 81 ms 81028 KiB
random_11.txt AC 68 ms 76416 KiB
random_12.txt AC 76 ms 81028 KiB
random_13.txt AC 75 ms 81144 KiB
random_14.txt AC 75 ms 76284 KiB
random_15.txt AC 72 ms 80832 KiB
random_16.txt AC 69 ms 76524 KiB
random_17.txt AC 81 ms 81284 KiB
random_18.txt AC 80 ms 81528 KiB
random_19.txt AC 78 ms 81360 KiB
random_20.txt AC 79 ms 81236 KiB
random_21.txt AC 81 ms 81788 KiB
random_22.txt AC 82 ms 81828 KiB
sample_01.txt AC 68 ms 76516 KiB
sample_02.txt AC 67 ms 76356 KiB
sample_03.txt AC 67 ms 76496 KiB


2025-06-30 (Mon)
12:03:37 +09:00