解答・コメントを送る方法

コメントを送るには2つの方法があります。
  • 匿名でコメントを書く
    ログインせずにコメントを書くことができます。 名前は「匿名」となります。
  • アカウントを作成してコメントを書く
    アカウントを作成すると、記名での投稿ができます。 また、プロフィールページが作成され、 簡単なプロフィールや 統計情報が表示されるようになります。
どちらの場合も投稿後の修正・削除はできないので、 投稿前によくご確認下さい。

投稿ボタンを押す前に以下の文章を確認してください

  • 当サイトへの投稿は クリエイティブ・コモンズ・ライセンス BY(表示)および、その解釈に同意するものとみなされます。各ページには下のようにライセンス表示が行われます。
    Creative Commons License このサイトの内容は、 クリエイティブ・コモンズ・ライセンスの下でライセンスされています。 [詳細]
  • あなたの投稿したコード・コメント・トピックが再利用・添削されることを望まない場合は、投稿をお控えください。
  • 自分が書いていない、ウェブサイトや書籍などからの無断コピーは著作権の侵害です。著作権者の了解を得るか、自分で0から書いてください。
  • 著作権の侵害、名誉毀損、など投稿内容に問題がある場合、削除することがあります。
  • これらのことにあなたはあらかじめ同意したものとみなされます。

Post comment

Post a comment to the following challenge: 水の移し替えパズル (Nested Flatten)

As a reply to the following comment: まさぽん: その必要はないと知りつつも、律儀に水を移...(#5988) [show]

[hide]
その必要はないと知りつつも、律儀に水を移し替える実装にしてみました。
問題が解決できない(水量の差が 3 の倍数である容器の組が存在しない)場合は nil を返して終了します。

実行例:
arc> (mizu '(4 2 10))
10
arc> (mizu '(827392 65536 122880))
827392
arc> (mizu '(5 7 9))
nil

水が移動する様を見たい方は 9 行目の (prn w) をアンコメントしてください。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
(def mizu (waters)
  (let index (indexing waters)
    (if (is index nil) nil
        (with (lcr '((2 -1 -1) (-1 2 -1) (-1 -1 2))
               n1 (index 0)
               n2 (index 1)
               aw (index 2))
          ((rfn lp (w step)
;            (prn w)
             (if (is (w n1) (w n2) 0) step
                 (is (w n1) 0) (lp (map + (lcr n1) w) (+ step 1))
                 (< (w aw) (/ (- (w n2) (w n1)) 3)) (lp (map + (lcr aw) w) (+ step 1))
                 (isnt (w n2) (w n1)) (lp (map + (lcr n1) w) (+ step 1))
                 (lp (map + (lcr aw) w) (+ step 1))))
           waters 0)))))

(def indexing (ls)
  (withs (mm (map [pos _ ls] (sort < ls))
          min (ls (mm 0))
          mid (ls (mm 1))
          max (ls (mm 2)))
    (if (is 0 (mod (- mid min) 3)) (list (mm 0) (mm 1) (mm 2))
        (is 0 (mod (- max min) 3)) (list (mm 0) (mm 2) (mm 1))
        (is 0 (mod (- max mid) 3)) (list (mm 1) (mm 2) (mm 0))
        nil)))


コメント本文
形式 [?]
コード
言語

タグ
半角スペースで区切って複数のタグを入力できます。
参考ページタイトル

参考ページURL
利用規約を読んで同意する必要があります。
by guest

Index

Feed

Other

Link

Pathtraq

loading...