JOI 2026 - Aoi and IOI

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 400 Thời gian: 2.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Cho chuỗi \(S\) có độ dài \(N\), chỉ gồm các ký tự A, OI.

Hãy đếm số cách lấy ba ký tự liên tiếp trong \(S\) sao cho chúng lần lượt là A, O, I hoặc I, O, I.

Dữ liệu vào

Dòng thứ nhất chứa \(N\). Dòng thứ hai chứa chuỗi \(S\).

Dữ liệu ra

In tổng số lần xuất hiện của AOIIOI trong \(S\).

Chỉ in đáp án, không in lời nhắc nhập dữ liệu hoặc nội dung khác.

Ràng buộc

  • \(1\le N\le100\).
  • \(S\) có độ dài \(N\) và chỉ gồm các ký tự A, I, O.

  • \(N\) là số nguyên.

Ví dụ

Ví dụ 1

Input
5
IAOIO
Output
1
Giải thích

Các ký tự thứ \(2,3,4\) của \(S\) lần lượt là A, O, I. Không có ba ký tự I, O, I xuất hiện liên tiếp theo thứ tự đó trong \(S\).

Tổng số lần xuất hiện của AOIIOI trong \(S\)\(1\), nên in ra \(1\).

Ví dụ 2

Input
8
AOIOIOIA
Output
3
Giải thích
  • Các ký tự thứ \(1,2,3\) của \(S\) lần lượt là A, O, I.
  • Các ký tự thứ \(3,4,5\) của \(S\) lần lượt là I, O, I.
  • Các ký tự thứ \(5,6,7\) của \(S\) lần lượt là I, O, I.

Tổng số lần xuất hiện của AOIIOI trong \(S\)\(3\), nên in ra \(3\).

Ví dụ 3

Input
6
IIOOII
Output
0
Giải thích

Không có AOI hay IOI trong \(S\), nên in ra \(0\).

Ví dụ 4

Input
15
IAOIAOAOIOIAIOI
Output
4
Giải thích

Tổng số lần xuất hiện của AOIIOI trong \(S\)\(4\), nên in ra \(4\).

Nguồn

JOI 2025/2026, vòng loại thứ nhất, đợt 2, ngày 2025-10-12. Đề gốc tiếng Nhật của Ủy ban Olympic Tin học Nhật Bản. Bản dịch theo giấy phép CC BY-SA 4.0.

Tệp

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: