GIẢI MẬT THƯ

(gmatthu.*)

Trong hội trại năm nay, Tí được lớp giao nhiệm vụ tham gia trò chơi giải mật thư tìm kho báu. Mật thư có \(n\) kí tự chỉ gồm hai loại kí tự là ‘A’ và ‘B’. Trong mật thư nếu số lần chuỗi con “AA” xuất hiện nhiều hơn số lần xuất hiện của chuỗi con “BB” thì đáp án của mật thư là số lần xuất hiện chuỗi con “AA” và ngược lại.

Tí vô tình làm ướt mật thư nên một số kí tự có thể bị nhòe mực, lúc này kí tự nào bị nhòe thì kí tự đó sẽ chuyển thành kí tự ‘*’.

Yêu cầu: Hãy giúp Tí tìm ra một số lớn nhất có thể là đáp án của mật thư nếu nó không bị ướt.

Dữ liệu vào:

+ Dòng đầu tiên chứa số nguyên dương \(n\) là độ dài của mật thư \((1 \leq n \leq 10^{6})\).

+ Dòng thứ hai chứa \(n\) kí tự ‘A’, ‘B’ hoặc ‘*’ được ghi liên tiếp không chứa dấu cách.

Kết quả: Ghi một số nguyên duy nhất là đáp án của bài toán.

Ví dụ:

Input Output Giải thích
5
AABBB
2 Chuỗi “AA” xuất hiện 1 lần. Chuỗi “BB” xuất hiện 2 lần. Vậy đáp án bài toán là 2.
4
A*BB
2 + Nếu kí tự ‘*’ là kí tự ‘B’ thì chuỗi “BB” xuất hiện 2 lần, còn chuỗi “AA” không xuất hiện lần nào.
+ Ngược lại nếu kí tự ‘*’ là kí tự ‘A’ thì chuỗi “AA” xuất hiện 1 lần và chuỗi “BB” cũng xuất hiện 1 lần.
Vậy đáp án bài toán là 2.

Giới hạn:

+ 50% test tương ứng 50% số điểm với mật thư chỉ gồm hai kí tự ‘A’ và ‘B’.

+50% test tương ứng 50% số điểm còn lại không có ràng buộc gì thêm.

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. trungnam (6/7)
  2. sythai (5/8)
  3. npk1605 (5/10)
Trong 7 ngày
  1. nguyenanhvu (40/64)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38905

Lưu Hải Phong - 2020
[email protected]