[TIL]20210615-9日目航行



アルゴリズムマラソン2日目.

今日習ったこと


BAEKJOON ONLINE JUDGE(BOJ)


今日のアルゴリズムをすぐにコミット
・45917・1436映画監督・45918・
  • 2869カタツムリが上に行きたい
  • 1037ミネラルウォーター
  • 2609最大公倍数と最小公倍数
  • 10250 ACMホテル
  • 1929小数を求める
  • 11729ハノイタワー移動順
  • 11651座標揃え・2
  • 今日の困難


    ハノイタワーの移動順は頭をつかんで解く.
    柿が全く見つからないと、他の柿を探したり、柿が70%来たり、80%歩いたりすることが繰り返されます.

    彼は「気持ちを落ち着かせなければならない.
    △最初の状態を1にして、16番が一番小さい数字であることを知っています.
    この問題が特に難しいのは,私が再帰関数に非常に弱いからである.
    再帰関数はまだ理解できませんが、長い間見ています.理解する
    そのため、私はこの問題を解決する時の楽しみを忘れられません.
    let fs = require("fs");
    let input = Number(fs.readFileSync("/dev/stdin").toString());
    
    let result = "";
    let count = 0;
    
    function hanoi(start, mid, end, n) {
      if (n === 1) {
        result += start + " " + end + "\n";
        count++;
        return;
      }
      hanoi(start, end, mid, n - 1);
      hanoi(start, mid, end, 1);
      hanoi(mid, start, end, n - 1);
    }
    
    hanoi("1", "2", "3", input);
    
    console.log(count);
    console.log(result.trim());