Submission #43935918
Source Code Expand
(N,M),*AB = $<.map{|ln| ln.split.map(&:to_i) }
E = Array.new(N+1){[]}
AB.each{|a,b|
E[a]<<b
}
J = lambda{|ps|
a,*as = ps[0]
until a==as[0]
as<<a
bs = E[a].select{|b| ps.index b }
break as.clear if bs.size!=1
a, = bs
end
if as.size!=ps.size
warn "NO (#{as.size}/#{ps.size})"
warn as.inspect
warn ps.map{|a|
[a,E[a].select{|b| ps.index b }]
}.to_h.inspect
else
warn 'YES'
end
}
D = [nil]*(N+1)
F = lambda{|a,ps=[],vs={}|
if vs[a]
ps.shift(vs[a]).each{|b| vs.delete b }
next true
elsif ! D[a]
D[a] = a
vs[a] = ps.size
ps<<a
if E[a].any?{|b|
F[b,ps,vs]
} then
next true
else
vs.delete a
ps.pop
next
end
else
end
}
C = lambda{|ps|
qs = []
while a = ps.shift
qs<<a
if i = E[a].filter_map{|b| qs.index b }.max
qs.shift i
break
end
if i = E[a].filter_map{|b| ps.index b }.max
ps.shift i
end
end
next qs
}
(1..N).each{|a|
ps = []
if F[a,ps]
ps = C[ps]
# J[ps]
puts ps.size,ps
exit
end
}
p~0
Submission Info
| Submission Time | |
|---|---|
| Task | F - Pure |
| User | ds14050 |
| Language | Ruby (2.7.1) |
| Score | 600 |
| Code Size | 1048 Byte |
| Status | AC |
| Exec Time | 69 ms |
| Memory | 15468 KiB |
Judge Result
| Set Name | Sample | Subtask1 | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 600 / 600 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | Sample_01.txt, Sample_02.txt, Sample_03.txt |
| Subtask1 | Sample_01.txt, Sample_02.txt, Sample_03.txt, case_01.txt, case_02.txt, case_03.txt, case_04.txt, case_05.txt, case_06.txt, case_07.txt, case_08.txt, case_09.txt, case_10.txt, case_11.txt, case_12.txt, case_13.txt, case_14.txt, case_15.txt, case_16.txt, case_17.txt, case_18.txt, case_19.txt, case_20.txt, case_21.txt, case_22.txt, case_23.txt, case_24.txt, case_25.txt, case_26.txt, case_27.txt, case_28.txt, case_29.txt, case_30.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| Sample_01.txt | AC | 58 ms | 14072 KiB |
| Sample_02.txt | AC | 56 ms | 14172 KiB |
| Sample_03.txt | AC | 61 ms | 14008 KiB |
| case_01.txt | AC | 62 ms | 14200 KiB |
| case_02.txt | AC | 58 ms | 14116 KiB |
| case_03.txt | AC | 55 ms | 14140 KiB |
| case_04.txt | AC | 56 ms | 14228 KiB |
| case_05.txt | AC | 61 ms | 14256 KiB |
| case_06.txt | AC | 62 ms | 14016 KiB |
| case_07.txt | AC | 58 ms | 14092 KiB |
| case_08.txt | AC | 59 ms | 14236 KiB |
| case_09.txt | AC | 58 ms | 14308 KiB |
| case_10.txt | AC | 59 ms | 14308 KiB |
| case_11.txt | AC | 62 ms | 14136 KiB |
| case_12.txt | AC | 60 ms | 14152 KiB |
| case_13.txt | AC | 60 ms | 14220 KiB |
| case_14.txt | AC | 60 ms | 14216 KiB |
| case_15.txt | AC | 58 ms | 14324 KiB |
| case_16.txt | AC | 56 ms | 14232 KiB |
| case_17.txt | AC | 56 ms | 14184 KiB |
| case_18.txt | AC | 60 ms | 14184 KiB |
| case_19.txt | AC | 60 ms | 15380 KiB |
| case_20.txt | AC | 60 ms | 15244 KiB |
| case_21.txt | AC | 59 ms | 15316 KiB |
| case_22.txt | AC | 58 ms | 15428 KiB |
| case_23.txt | AC | 59 ms | 15332 KiB |
| case_24.txt | AC | 59 ms | 15264 KiB |
| case_25.txt | AC | 63 ms | 15468 KiB |
| case_26.txt | AC | 65 ms | 15148 KiB |
| case_27.txt | AC | 64 ms | 15312 KiB |
| case_28.txt | AC | 69 ms | 15264 KiB |
| case_29.txt | AC | 63 ms | 15348 KiB |
| case_30.txt | AC | 58 ms | 14800 KiB |