trang chủ / đề bài / vtc05_fence

Sơn hàng rào

Đề bài

Mô tả

Một hàng rào gồm n tấm ván xếp thành một hàng, đánh số từ 1 đến n từ trái sang phải. Ban đầu các tấm ván chưa được sơn. Người thợ cần sơn để tấm ván thứ i có màu si, trong đó mỗi màu được kí hiệu bằng một chữ cái Latin thường.

Mỗi lượt sơn, người thợ chọn một đoạn các tấm ván liên tiếp và một màu, rồi sơn toàn bộ đoạn đó bằng màu này; màu mới phủ lên mọi màu cũ trên đoạn.

Yêu cầu: Tính số lượt sơn ít nhất để hàng rào có đúng các màu s1,s2,…,sn.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên n.
  • Dòng thứ hai chứa xâu s gồm n chữ cái Latin thường.

Dữ liệu ra

In một số nguyên duy nhất là số lượt sơn ít nhất.

Ràng buộc

  • 1≤n≤500.

Subtasks

  • Subtask 1 (30% số điểm): n≤15.
  • Subtask 2 (30% số điểm): xâu s có không quá hai chữ cái khác nhau.
  • Subtask 3 (40% số điểm): không có ràng buộc gì thêm.

Ví dụ

Input Output Giải thích
5
abcba
3 Sơn cả hàng màu a, sơn đoạn [2,4] màu b, rồi sơn tấm 3 màu c.
7
aabbaab
3 Sơn cả hàng màu a, rồi sơn đoạn [3,4] và tấm 7 màu b.

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