trang chủ / đề bài / arrsheep

Xếp hàng đàn cừu

Đề bài

Mô tả

Một màn chơi được mô tả bằng một xâu độ dài n gồm các kí tự '.' (ô trống) và '*' (một con cừu).

Trong một nước đi, bạn có thể di chuyển một con cừu sang ô liền kề bên trái hoặc bên phải, với điều kiện ô đó tồn tại và đang trống.

Màn chơi kết thúc khi tất cả các con cừu đứng liền nhau, tức là giữa hai con cừu bất kì không còn ô trống nào.

Với mỗi màn chơi cho trước, hãy tính số nước đi tối thiểu để hoàn thành nó.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t là số bộ dữ liệu.
  • Với mỗi bộ dữ liệu:
    • Dòng đầu chứa số nguyên n.
    • Dòng thứ hai chứa xâu độ dài n gồm các kí tự '.' và '*'.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra một dòng chứa số nước đi tối thiểu cần thực hiện.

Ràng buộc

  • 1≤t≤104
  • 1≤n≤106
  • Tổng của n trên tất cả các bộ dữ liệu không vượt quá 106.

Ví dụ

Input Output Giải thích
5
6
**.*..
5
*****
3
.*.
3
...
10
.....*
1
0
0
0
9
Bộ 1: chỉ cần đưa con cừu ở vị trí 4 sang trái một ô là ba con cừu đứng liền nhau, tốn 1 nước. Bộ 2 đã liền nhau nên tốn 0 nước. Bộ 3 chỉ có một con cừu nên tốn 0 nước. Bộ 4 không có con cừu nào.
2
6
..
4
**..
4
0
Bộ 1: gom bốn con cừu về giữa tốn tổng cộng 4 nước. Bộ 2 hai con cừu đã đứng liền nhau.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0