challenge あみだくじ

次のような書式で与えられた「あみだくじ」があります。
(あみだくじはコード中に埋め込んでも、標準入力や
外部ファイルから読み込んでも、書きやすい方法でかまいません)

A B C D E
| | |-| |
|-| | |-|
| |-| |-|
|-| |-| |
|-| | | |

このあみだくじをたどって
A B C D E
| | |-| |
|-| | |-|
| |-| |-|
|-| |-| |
|-| | | |
B D C A E
のように結果を表示させるプログラムを作ってください。

Posted feedbacks - OCaml

ものすごく適当に…。 横棒をタプルのリストとして受け取って、名前を入れ替えます。

1
2
3
4
5
6
7
let rec amida names = function
    [] -> names
  | ((h1,h2)::tl) ->
    let t1,t2 = names.(h1),names.(h2) in
      names.(h1) <- t2;
      names.(h2) <- t1;
      amida names tl;;

Index

Feed

Other

Link

Pathtraq

loading...