trang chủ / bài tập / saucerseg

Ba khoang tàu vũ trụ

Đề bài

Mô tả

Một con tàu vũ trụ gồm ba khoang được nối với nhau thành một dãy: khoang 1 chỉ kề khoang 2, khoang 2 kề khoang 1 và khoang 3, khoang 3 chỉ kề khoang 2. Ta chỉ có thể di chuyển giữa hai khoang kề nhau.

Trên tàu có n thành viên, mỗi người mang một cấp bậc là một số nguyên phân biệt từ 1 đến n (số càng lớn thì cấp bậc càng cao). Một thành viên được phép di chuyển từ khoang a sang khoang b (với a, b kề nhau) chỉ khi người đó có cấp bậc cao hơn tất cả những người đang ở trong khoang a và khoang b. Mỗi lần di chuyển tốn đúng 1 phút, và tại mỗi phút chỉ được có nhiều nhất một người di chuyển.

Ban đầu tất cả n người đều ở khoang 3. Họ cần chuyển toàn bộ sang khoang 1. Hãy tính số phút ít nhất cần thiết để hoàn thành, rồi in ra kết quả theo modulo m.

Dữ liệu vào

Một dòng gồm hai số nguyên nm.

Dữ liệu ra

In 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 Người duy nhất đi từ khoang 3 sang 2, rồi từ 2 sang 1: tổng cộng 2 phút. 2mod10=2.
3 8 2 Số phút ít nhất là 26; 26mod8=2.
2 81 8 Số phút ít nhất là 8; 8mod81=8.

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