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

Tủ Quần Áo Kỳ Diệu

Đề bài

Mô tả

Nastya có một chiếc tủ quần áo kỳ diệu. Vào cuối mỗi tháng, số váy trong tủ tăng lên gấp đôi (số váy cuối tháng bằng hai lần số váy đầu tháng).

Tuy nhiên, ngay sau khi nhân đôi, tủ sẽ ăn mất đúng một chiếc váy với xác suất 50% (nếu trong tủ không còn chiếc váy nào thì không có gì để ăn). Điều này xảy ra ở mọi tháng trừ tháng cuối cùng trong năm — tháng cuối cùng chỉ nhân đôi mà thôi.

Một năm ở vương quốc nơi Nastya sống dài đúng k+1 tháng. Ban đầu tủ có x chiếc váy. Hãy tính kỳ vọng số váy trong tủ sau một năm, lấy theo modulo 109+7 (giá trị này luôn là số nguyên).

Dữ liệu vào

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

Dữ liệu ra

Một số nguyên duy nhất — kỳ vọng số váy sau một năm, lấy modulo 109+7.

Ràng buộc

  • 0x,k1018

Ví dụ

Input Output Giải thích
2 0 4 Năm chỉ có 1 tháng (tháng cuối), tủ chỉ nhân đôi: 2·2=4.
2 1 7 Sau tháng 1: số váy là 3 với xác suất 1/2, là 4 với xác suất 1/2. Sau tháng 2 (nhân đôi): 6 hoặc 8, mỗi cái xác suất 1/2. Kỳ vọng =(6+8)/2=7.
3 2 21 Kỳ vọng sau tháng 15.5, sau tháng 210.5, sau tháng 3 (nhân đôi) là 21.
0 24 0 Tủ rỗng nên không có gì để nhân đôi hay ăn.

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