Hướng dẫn cho Alphabet


Chỉ sử dụng khi thực sự cần thiết như một cách tôn trọng tác giả và người viết hướng dẫn này.

Chép code từ bài hướng dẫn để nộp bài là hành vi có thể dẫn đến khóa tài khoản.

Authors: dang7rickroll

Spoiler Alert

Dựa theo định nghĩa, ta rút ra được nhận xét: chỉ cần 1 ký tự, hoặc là chữ cái hoa, hoặc là chữ cái thường trong bảng chữ cái Alphabet thì chuỗi đó là chuỗi tốt .Vì thế các chuỗi như a###*#&V*&#&$*22 là các chuỗi tốt.

Vì vậy:

  • Nếu trong chuỗi đều tồn tại cả chữ cái hoa và thường thì phải biến đổi các chữ cái thường về chữ cái hoa, hoặc các chữ cái hoa về chữ cái thường. Điều này phụ thuộc vào số lượng chữ cái thường và số lượng chữ cái hoa trong chuỗi đó.
  • Gọi \(d_1\) là biến lưu số lượng chữ cái thường, \(d_2\) là biến lưu số lượng chữ cái hoa. Nếu một trong hai biến \(= 0\) thì ta không phải biến đổi gì thêm nữa.
  • Ngược lại, nếu \(d_1 > d_2\) thì phải biến đổi \(d_2\) chữ cái hoa sang chữ cái thường. Còn nếu \(d_1 < d_2\) thì phải biến đổi \(d_1\) chữ cái thường sang chữ cái hoa (vì đề bài yêu cầu là số lần biến đổi ít nhất có thể).
  • Còn nếu \(d_1 = d_2\) thì bạn in số nào cũng được.
  • Nếu cả hai biến đều \(=0\) (không tồn tại chữ cái nào trong xâu) thì không thể biến đổi (Invalid Input)

Vậy là bài toán đã được giải quyết xong.

Các bạn có thể tham khảo code của mình ở đây. (\(\color{red}{\text{Không chép nha}}\))

Nếu các bạn có gì thắc mắc hoặc không hiểu, các bạn cứ comment nhé ! Mình sẽ giải thích cặn kẽ cho các bạn.



Bình luận


  • -3
    hungcubuso1vn    1:49 p.m. 5 Tháng 6, 2023

    đùa không vui, tôi đã căng