Phi thuyền ba khoang

Đề bài

Mô tả

Một phi thuyền gồm 3 khoang được nối với nhau theo dạng chuỗi: khoang 1 chỉ kề với khoang 2, khoang 2 kề với khoang 1 và khoang 3, khoang 3 chỉ kề với khoang 2. Người chỉ có thể di chuyển giữa hai khoang kề nhau.

Trên phi thuyền có N phi hành gia, mỗi người được gán một cấp bậc khác nhau là một số nguyên từ 1 đến N (số càng lớn thì cấp bậc càng cao).

Theo quy định, một phi hành gia chỉ có thể di chuyển từ khoang a sang khoang b (kề nhau) nếu cấp bậc của người đó cao hơn cấp bậc của mọi phi hành gia đang có mặt trong khoang a và khoang b (không tính chính người đó). Mỗi lần di chuyển mất đúng 1 phút, và tại mỗi thời điểm chỉ có duy nhất một người được di chuyển.

Ban đầu, toàn bộ N phi hành gia đang ở khoang 3. Hãy tìm số phút ít nhất để tất cả họ chuyển sang khoang 1. Vì kết quả có thể rất lớn, in ra phần dư của số đó khi chia cho M.

Dữ liệu vào

Một dòng chứa hai số nguyên NM.

Dữ liệu ra

Một số nguyên duy nhất là đáp án theo modulo M.

Ràng buộc

  • 1N,M109

Ví dụ

Input Output Giải thích
1 10 2 Chỉ có một phi hành gia. Người đó đi từ khoang 3 sang khoang 2, rồi từ khoang 2 sang khoang 1. Tổng cộng 2 phút.
3 8 2 3 phi hành gia. Số phút tối thiểu thực tế là 26, và 26mod8=2.
3 1 0 Mọi số đều chia hết cho 1.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0