Hàng Chờ Mua Bánh

Đề bài

Mô tả

n học sinh xếp thành một hàng chờ mua bánh. Mỗi học sinh là nam (kí hiệu M) hoặc nữ (kí hiệu F).

Mỗi giây, đồng thời tại mọi vị trí i mà học sinh vị trí iM và học sinh vị trí i+1F, hai học sinh này đổi chỗ cho nhau (nữ tiến lên một bước, nam lùi xuống một bước).

Việc đổi chỗ diễn ra song song trên cả hàng: quyết định vị trí nào đổi được xét theo cấu hình trước khi giây đó bắt đầu, không phải sau khi vài cặp đã đổi.

Yêu cầu: cho cấu hình ban đầu, tính số giây cần thiết để hàng chuyển thành trạng thái mà tất cả nữ đứng trước tất cả nam (nghĩa là không còn bất kì cặp M đứng ngay trước F nào). Nếu hàng ban đầu đã ở trạng thái này (kể cả trường hợp chỉ có nam hoặc chỉ có nữ), in ra 0.

Dữ liệu vào

Một dòng chứa xâu s=s1s2sn gồm các kí tự in hoa MF. Kí tự si mô tả học sinh tại vị trí i trong hàng.

Dữ liệu ra

In ra một số nguyên duy nhất — số giây cần thiết để toàn bộ nữ đứng trước toàn bộ nam.

Ràng buộc

  • 1n106
  • si{M,F}

Ví dụ

Input Output Giải thích
MFM 1 Sau 1 giây: MFM → FMM.
MMFF 3 MMFF → MFMF → FMFM → FFMM.
FFMMM 0 Hàng đã ở trạng thái nữ trước nam.

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 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