trang chủ / đề bài / hanoicses

Tháp Hà Nội

Đề bài

Mô tả

Có ba cọc (đánh số 1, 2, 3) và n chiếc đĩa có kích thước khác nhau. Ban đầu, tất cả các đĩa được xếp trên cọc 1 theo thứ tự từ lớn đến nhỏ (đĩa lớn ở dưới, đĩa nhỏ ở trên). Mục tiêu là chuyển toàn bộ đĩa sang cọc 3.

Quy tắc:

  • Mỗi lần chỉ được di chuyển một đĩa (đĩa trên cùng của một cọc).
  • Không được đặt đĩa lớn lên trên đĩa nhỏ hơn.

Hãy tìm cách di chuyển với số bước ít nhất.

Dữ liệu vào

Một dòng duy nhất chứa số nguyên n.

Dữ liệu ra

Dòng đầu tiên in ra k — số bước di chuyển tối thiểu.

  • k dòng tiếp theo, mỗi dòng gồm hai số nguyên a và b: di chuyển đĩa trên cùng từ cọc a sang cọc b.

Ràng buộc

  • 1≤n≤16

Ví dụ

Input Output Giải thích
2 3
1 2
1 3
2 3
Cần 3 bước: cọc 1→2, cọc 1→3, cọc 2→3.
1 1
1 3
Chỉ cần 1 bước.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0