APL/J言語:グラフ理論(距離)
これもわからないまま翻訳
-
-
- -
-
二つの点のストリート距離(“street” distance)はそれぞれの軸の座標の差の大きさの合計として定義される。
d=: +/@:|@:-"1 p=: 3 5 1 [ q=: 7 4 0 p d q 6 table=: #: i. 2^3 (]; d/~) table NB.点のペアの距離のテーブル +-----+---------------+ |0 0 0|0 1 1 2 1 2 2 3| |0 0 1|1 0 2 1 2 1 3 2| |0 1 0|1 2 0 1 2 3 1 2| |0 1 1|2 1 1 0 3 2 2 1| |1 0 0|1 2 2 3 0 1 1 2| |1 0 1|2 1 3 2 1 0 2 1| |1 1 0|2 3 1 2 1 2 0 1| |1 1 1|3 2 2 1 2 1 1 0| +-----+---------------+ g=: [ * [ = d/~@] (];(d/~);(1&g);(2&g)) table +-----+---------------+---------------+---------------+ |0 0 0|0 1 1 2 1 2 2 3|0 1 1 0 1 0 0 0|0 0 0 2 0 2 2 0| |0 0 1|1 0 2 1 2 1 3 2|1 0 0 1 0 1 0 0|0 0 2 0 2 0 0 2| |0 1 0|1 2 0 1 2 3 1 2|1 0 0 1 0 0 1 0|0 2 0 0 2 0 0 2| |0 1 1|2 1 1 0 3 2 2 1|0 1 1 0 0 0 0 1|2 0 0 0 0 2 2 0| |1 0 0|1 2 2 3 0 1 1 2|1 0 0 0 0 1 1 0|0 2 2 0 0 0 0 2| |1 0 1|2 1 3 2 1 0 2 1|0 1 0 0 1 0 0 1|2 0 0 2 0 0 2 0| |1 1 0|2 3 1 2 1 2 0 1|0 0 1 0 1 0 0 1|2 0 0 2 0 2 0 0| |1 1 1|3 2 2 1 2 1 1 0|0 0 0 1 0 1 1 0|0 2 2 0 2 0 0 0| +-----+---------------+---------------+---------------+ {&' .+*' &.> (];(d/~);(1&g);(2&g);(3&g)) table +---+--------+--------+--------+--------+ | | ..+.++*| .. . | + ++ | *| | .|. +.+.*+|. . . | + + +| * | | . |.+ .+*.+|. . . | + + +| * | | ..|+.. *++.| .. .|+ ++ | * | |. |.++* ..+|. .. | ++ +| * | |. .|+.*+. +.| . . .|+ + + | * | |.. |+*.+.+ .| . . .|+ + + | * | |...|*++.+.. | . .. | ++ + |* | +---+--------+--------+--------+--------+