Initial data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 72d218235f
commit f23f22d71c
199087 changed files with 3378941 additions and 0 deletions

View file

@ -0,0 +1,5 @@
floyd=: verb define
for_j. i.#y do.
y=. y <. j ({"1 +/ {) y
end.
)

View file

@ -0,0 +1,12 @@
graph=: ".;._2]0 :0
0 _ _2 _ NB. 1->3 costs _2
4 0 3 _ NB. 2->1 costs 4; 2->3 costs 3
_ _ 0 2 NB. 3->4 costs 2
_ _1 _ 0 NB. 4->2 costs _1
)
floyd graph
0 _1 _2 0
4 0 2 4
5 1 0 2
3 _1 1 0

View file

@ -0,0 +1,33 @@
floydrecon=: verb define
n=. ($y)$_(I._=,y)},($$i.@#)y
for_j. i.#y do.
d=. y <. j ({"1 +/ {) y
b=. y~:d
y=. d
n=. (n*-.b)+b * j{"1 n
end.
)
task=: verb define
dist=. floyd y
next=. floydrecon y
echo 'pair dist path'
for_i. i.#y do.
for_k. i.#y do.
ndx=. <i,k
if. (i~:k)*_>ndx{next do.
txt=. (":1+i),'->',(":1+k)
txt=. txt,_5{.":ndx{dist
txt=. txt,' ',":1+i
j=. i
while. j~:k do.
assert. j~:(<j,k){next
j=. (<j,k){next
txt=. txt,'->',":1+j
end.
echo txt
end.
end.
end.
i.0 0
)

View file

@ -0,0 +1,14 @@
task graph
pair dist path
1->2 _1 1->3->4->2
1->3 _2 1->3
1->4 0 1->3->4
2->1 4 2->1
2->3 2 2->1->3
2->4 4 2->1->3->4
3->1 5 3->4->2->1
3->2 1 3->4->2
3->4 2 3->4
4->1 3 4->2->1
4->2 _1 4->2
4->3 1 4->2->1->3