JOI 2015 - En-JOI-able Logo Design

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, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1800 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Với số nguyên \(k\ge0\), một dãy JOI cấp \(k\) được định nghĩa như sau:

  • Cấp 0 là một ký tự J, O hoặc I.
  • Dãy cấp \(k+1\) dài \(4^{k+1}\): \(4^k\) ký tự đầu đều là J, \(4^k\) ký tự tiếp đều là O, \(4^k\) ký tự tiếp đều là I, và \(4^k\) ký tự cuối tạo thành một dãy JOI cấp \(k\).

\(4^K\) ký tự J, O, I viết trên một vòng tròn. Được phép thay đổi một số ký tự. Hãy tìm số thay đổi ít nhất để khi chọn một điểm bắt đầu thích hợp và đọc một vòng theo chiều kim đồng hồ, ta được một dãy JOI cấp \(K\).

Dữ liệu vào

Dòng đầu chứa \(K\). Dòng sau là xâu dài \(4^K\), thu được khi đọc vòng tròn từ một điểm cố định theo chiều kim đồng hồ.

Dữ liệu ra

In số ký tự ít nhất phải thay đổi.

Ràng buộc

\[ 1\le K\le10. \]

Phân nhóm

  • Nhóm 1 (30 điểm): \(K\le5\).
  • Nhóm 2 (70 điểm): không có ràng buộc bổ sung.

Ví dụ

Ví dụ 1

Input
1
IJOI
Output
0
Giải thích

Ở ví dụ 1, bắt đầu từ ký tự J cho chuỗi JOII, là dãy cấp 1.

Ví dụ 2

Input
2
JJOIJJOJOIOJOOOI
Output
7
Giải thích

Ở ví dụ 2, sau bảy thay đổi có thể đọc được JJJJOOOOIIIIJOIJ, là dãy cấp 2.

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: