[過去ログ]
プログラミングのお題スレ Part13 (1002レス)
プログラミングのお題スレ Part13 http://mevius.5ch.net/test/read.cgi/tech/1549160513/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
754: デフォルトの名無しさん [sage] 2019/03/22(金) 21:43:03.63 ID:nZ/OoXFx スタート部も矢印に出来るやん… ↓┌→┐ └┘┌┘ ┌┐└┐ ★└←┘ http://mevius.5ch.net/test/read.cgi/tech/1549160513/754
756: デフォルトの名無しさん [] 2019/03/23(土) 01:24:21.91 ID:Bvojjkpo >>754 Kotlin https://paiza.io/projects/jjP3AHDkfJ4t_Lfsd3wmlA >>749 を改造して作った。 http://mevius.5ch.net/test/read.cgi/tech/1549160513/756
759: デフォルトの名無しさん [sage] 2019/03/23(土) 05:47:57.62 ID:ZlGSstH0 >>754 Squeak Smalltalk | fn | fn := [:str | | map range signs sign goal position from next atEnd | map := str lines collect: [:line | line subStrings collect: #asInteger]. range := 1@1 extent: map first size @ map size. goal := #★. signs := #(┌ ┌ ← → └ └ ┐ ┐ ↑ ↓ ┘ ┘) readStream. sign := Dictionary new. 0 asPoint fourNeighbors combinations: 2 atATimeDo: [:combi | sign at: combi copy put: signs next; at: combi reversed put: signs next]. position := 1@1. from := nil. next := 2. atEnd := false. [atEnd] whileFalse: [ | found delta | found := position fourNeighbors detect: [:neighPos | (range containsPoint: neighPos) and: [((map at: neighPos y) at: neighPos x) = next] ] ifNone: [atEnd := true. Float nan]. delta := found - position. (map at: position y) at: position x put: (sign at: {from ifNil: [delta negated]. delta} ifAbsent: goal). position := found. from := delta negated. next := next + 1]. (map collect: #join) asStringWithCr ]. fn value: '1 4 5 6 2 3 8 7 15 14 9 10 16 13 12 11' . "=> '↓┌→┐ └┘┌┘ ┌┐└┐ ★└←┘' " http://mevius.5ch.net/test/read.cgi/tech/1549160513/759
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.038s