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

Trốn Chạy Những Viên Đá

Đề bài

Mô tả

Một chú sóc ban đầu chiếm giữ đoạn [0,1] trên trục số. Có n viên đá lần lượt rơi xuống, đánh số từ 1 đến n theo thứ tự rơi.

Mỗi viên đá luôn rơi vào đúng tâm của đoạn mà chú sóc đang chiếm. Giả sử chú sóc đang ở đoạn [kd,k+d] và một viên đá rơi vào điểm k, chú sóc sẽ nhảy sang trái hoặc sang phải để né:

  • Nếu né sang trái, đoạn mới của chú sóc là [kd,k].
  • Nếu né sang phải, đoạn mới của chú sóc là [k,k+d].

Cho xâu s độ dài n. Nếu ký tự thứ i của s là "l" thì khi viên đá thứ i rơi chú sóc né sang trái; nếu là "r" thì chú sóc né sang phải.

Sau khi cả n viên đá đã rơi, mỗi viên nằm tại một vị trí cố định trên trục số. Hãy in ra thứ tự số hiệu của các viên đá từ trái sang phải.

Dữ liệu vào

Một dòng duy nhất chứa xâu s (mỗi ký tự là "l" hoặc "r").

Dữ liệu ra

In ra n dòng: dòng thứ i ghi số hiệu của viên đá đứng thứ i tính từ trái sang phải.

Ràng buộc

  • 1|s|106
  • Mỗi ký tự của s là "l" hoặc "r".

Ví dụ

Input Output Giải thích
llrlr 3
5
4
2
1
Viên 3 và 5 (né phải) nằm bên trái; các viên 1, 2, 4 (né trái) nằm bên phải theo thứ tự ngược lại.
rrlll 1
2
5
4
3
Hai viên đầu né phải nên nằm ngoài cùng bên trái theo đúng thứ tự; ba viên sau né trái nên xếp từ phải sang.
lrlrr 2
4
5
3
1
Các viên né phải (2, 4, 5) đứng trước theo thứ tự rơi, sau đó tới các viên né trái (3, 1) theo thứ tự ngượ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.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