Submission #26770107


Source Code Expand

Copy
(M,),*UV,P = $<.map{|ln| ln.split.map(&:to_i) }
E = Array.new(10){[]}
UV.each{|u,v|
uv,vu = "#{u}#{v}","#{v}#{u}"
E[u]<<[uv,vu]
E[v]<<[vu,uv]
}
P << (1..9).find{|c| ! P.index(c) }
S = P*''
n = 0
N = {S=>n}
Q = {S=>S}
n += 1 and Q.keys.each{|s|
Q.delete s
c = s[-1]
E[c.ord-48].each{|cd,dc|
t = s.tr cd,dc
Q[t],N[t] = t,n unless N[t]
}
} until Q['123456789'] || Q.empty?
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
(M,),*UV,P = $<.map{|ln| ln.split.map(&:to_i) }
E = Array.new(10){[]}
UV.each{|u,v|
	uv,vu = "#{u}#{v}","#{v}#{u}"
	E[u]<<[uv,vu]
	E[v]<<[vu,uv]
}
P << (1..9).find{|c| ! P.index(c) }
S = P*''

n = 0
N = {S=>n}
Q = {S=>S}
n += 1 and Q.keys.each{|s|
	Q.delete s
	c = s[-1]
	E[c.ord-48].each{|cd,dc|
		t = s.tr cd,dc
		Q[t],N[t] = t,n unless N[t]
	}
} until Q['123456789'] || Q.empty?

p(N['123456789']||-1)

Submission Info

Submission Time
Task D - 8 Puzzle on Graph
User ds14050
Language Ruby (2.7.1)
Score 400
Code Size 428 Byte
Status AC
Exec Time 2275 ms
Memory 77152 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 4
AC × 46
Set Name Test Cases
Sample example0.txt, example1.txt, example2.txt, example3.txt
All 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, 034.txt, 035.txt, 036.txt, 037.txt, 038.txt, 039.txt, 040.txt, 041.txt, example0.txt, example1.txt, example2.txt, example3.txt
Case Name Status Exec Time Memory
000.txt AC 59 ms 13900 KB
001.txt AC 60 ms 13904 KB
002.txt AC 821 ms 55628 KB
003.txt AC 126 ms 22348 KB
004.txt AC 786 ms 55536 KB
005.txt AC 2275 ms 77152 KB
006.txt AC 60 ms 14180 KB
007.txt AC 242 ms 28520 KB
008.txt AC 175 ms 26488 KB
009.txt AC 241 ms 28596 KB
010.txt AC 574 ms 41448 KB
011.txt AC 64 ms 13904 KB
012.txt AC 583 ms 42520 KB
013.txt AC 569 ms 42796 KB
014.txt AC 520 ms 42608 KB
015.txt AC 57 ms 14072 KB
016.txt AC 62 ms 14044 KB
017.txt AC 64 ms 14184 KB
018.txt AC 61 ms 13976 KB
019.txt AC 58 ms 13976 KB
020.txt AC 61 ms 13892 KB
021.txt AC 588 ms 47592 KB
022.txt AC 197 ms 25820 KB
023.txt AC 246 ms 26940 KB
024.txt AC 900 ms 65720 KB
025.txt AC 63 ms 13952 KB
026.txt AC 59 ms 14064 KB
027.txt AC 61 ms 14120 KB
028.txt AC 60 ms 14068 KB
029.txt AC 60 ms 14072 KB
030.txt AC 58 ms 14032 KB
031.txt AC 59 ms 14008 KB
032.txt AC 554 ms 45536 KB
033.txt AC 307 ms 33836 KB
034.txt AC 600 ms 48608 KB
035.txt AC 425 ms 42500 KB
036.txt AC 488 ms 44648 KB
037.txt AC 58 ms 14124 KB
038.txt AC 62 ms 14204 KB
039.txt AC 59 ms 14076 KB
040.txt AC 58 ms 13876 KB
041.txt AC 59 ms 14076 KB
example0.txt AC 62 ms 14056 KB
example1.txt AC 56 ms 14012 KB
example2.txt AC 530 ms 42520 KB
example3.txt AC 84 ms 16464 KB


2025-04-05 (Sat)
13:18:53 +00:00