[過去ログ]
プログラミングのお題スレ Part13 (1002レス)
プログラミングのお題スレ Part13 http://mevius.5ch.net/test/read.cgi/tech/1549160513/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
746: デフォルトの名無しさん [] 2019/03/21(木) 13:37:55.15 ID:p+hkSRzH お題 長方形の盤で左上から上下左右に一マスずつ移動して全てのマスを 辿る。 移動の順番を表した数字を向きと終点を表す文字(↑↓←→★、 上下左右終、UDLRG、^V<>Gなど)に変換する。 入力 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/746
747: デフォルトの名無しさん [sage] 2019/03/21(木) 14:37:03.32 ID:Krn8F3T2 >>746 Perl5 @a = map{[split]} <DATA>; for $y (0..$#a) { $h{$a[$y][$_]} = [$y,$_,''] for 0..$#a; } @s = keys %h; %r = qw{-1,0 ↑ 1,0 ↓ 0,-1 ← 0,1 →}; for $i (1..@s) { if ($i == @s) { $d = '★' } else { $y = $h{$i+1}->[0] - $h{$i}->[0]; $x = $h{$i+1}->[1] - $h{$i}->[1]; $d = $r{"$y,$x"} } $h{$i}->[2] = $d; } ($y, $x, $d) = @$_, $a[$y][$x] = $d for values %h; use feature say; say "@$_" for @a; __DATA__ 1 4 5 6 2 3 8 7 15 14 9 10 16 13 12 11 実行結果 ~ $ perl 13_746.pl ↓ → → ↓ → ↑ ↓ ← ↓ ← → ↓ ★ ↑ ← ← http://mevius.5ch.net/test/read.cgi/tech/1549160513/747
749: デフォルトの名無しさん [] 2019/03/22(金) 05:04:29.93 ID:NMDgNTgg >>746 Kotlin https://paiza.io/projects/kKx0DA0gpsZ6He2ZxKSF_A http://mevius.5ch.net/test/read.cgi/tech/1549160513/749
750: デフォルトの名無しさん [sage] 2019/03/22(金) 12:12:43.26 ID:bmKj2SZK >>746 Squeak Smalltalk | fn | fn := [:str | | map range sign goal position next atEnd | map := str lines collect: [:line | line subStrings collect: #asInteger]. range := 1@1 extent: map first size @ map size. sign := (0 asPoint fourNeighbors with: #(→ ↓ ← ↑) collect: #->) as: Dictionary. goal := #★. position := 1@1. next := 2. atEnd := false. [atEnd] whileFalse: [ | found | found := position fourNeighbors detect: [:neighPos | (range containsPoint: neighPos) and: [((map at: neighPos y) at: neighPos x) = next] ] ifNone: [atEnd := true. Float nan]. (map at: position y) at: position x put: (sign at: found - position ifAbsent: goal). position := found. 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/750
751: デフォルトの名無しさん [sage] 2019/03/22(金) 20:50:59.33 ID:KB/r9SyN >>746 octave https://ideone.com/BacNm6 http://mevius.5ch.net/test/read.cgi/tech/1549160513/751
758: デフォルトの名無しさん [] 2019/03/23(土) 02:35:34.66 ID:FcxASXew >>746 Common Lisp https://ideone.com/7h7HT4 http://mevius.5ch.net/test/read.cgi/tech/1549160513/758
764: デフォルトの名無しさん [] 2019/03/24(日) 01:17:54.50 ID:TWBa+gHA >>746 C https://ideone.com/dQ2NRt 行けないところがある場合■で表示した http://mevius.5ch.net/test/read.cgi/tech/1549160513/764
772: デフォルトの名無しさん [sage] 2019/03/24(日) 22:58:01.17 ID:3fqiTHWE ちなみに、 >>746 の問題で、行列の周りに、番兵を作って、処理した人はいる? 漏れは、いつもこの手の問題では、番兵で周りを囲む http://mevius.5ch.net/test/read.cgi/tech/1549160513/772
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.040s