Xử lý xâu ký tự

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 Phân tích xâu 100 (p) 1.0s 256M
2 Chuẩn hóa 100 (p) 1.0s 256M
3 Xâu đối xứng 100 (p) 1.0s 256M
4 Tổng các chữ số trong xâu 100 (p) 1.0s 256M
5 Tổng các số trong xâu 100 (p) 1.0s 256M
6 Đếm từ 100 (p) 1.0s 256M
7 Từ dài nhất 100 (p) 1.0s 256M

1. Phân tích xâu

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Nhập vào một xâu ký tự \(S\) (có thể chứa khoảng trắng). Hãy đếm xem trong xâu có bao nhiêu:

  • Chữ cái in hoa.
  • Chữ cái in thường.
  • Chữ số.

Input

  • Một dòng chứa xâu \(S\) (\(|S| \le 1000\)).

Output

  • \(3\) số nguyên lần lượt là số lượng chữ hoa, chữ thường và chữ số.

Example

Test 1

Input
Hello World 123
Output
2 8 3

2. Chuẩn hóa

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Một người nhập tên nhưng lại gõ lỗi: thừa nhiều khoảng trắng, chữ hoa chữ thường lộn xộn. Hãy chuẩn hóa lại theo quy tắc:

  • Không có khoảng trắng thừa ở đầu, cuối và giữa các từ (giữa các từ chỉ có \(1\) khoảng trắng).
  • Ký tự đầu mỗi từ viết hoa, các ký tự còn lại viết thường.

Input

  • Một dòng duy nhất chứa xâu \(S\) là tên người.

Output

  • In ra xâu \(S\) đã được chuẩn hóa.

Example

Test 1

Input
   nguYEN  van  An   
Output
Nguyen Van An

Constraints

  • Độ dài xâu \(S\) không quá \(1000\) ký tự.

3. Xâu đối xứng

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Kiểm tra xem một xâu có phải là xâu đối xứng hay không. Xâu đối xứng là xâu đọc từ trái sang phải giống hệt đọc từ phải sang trái.

Input

  • Một xâu \(S\).

Output

  • In ra YES nếu xâu \(S\) là xâu đối xứng, ngược lại in ra NO.

Example

Test 1

Input
radar
Output
YES

Test 2

Input
hello
Output
NO

4. Tổng các chữ số trong xâu

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho xâu \(S\). Tính tổng các chữ số xuất hiện trong xâu.

Input

  • Một dòng duy nhất chứa xâu \(S\) (độ dài xâu \(S\) không quá \(10^6\), bao gồm các ký tự chữ cái và chữ số).

Output

  • Một số nguyên duy nhất là tổng các chữ số xuất hiện trong xâu \(S\).

Example

Test 1

Input
abc123def4
Output
10
Note

Các chữ số xuất hiện trong xâu là \(1, 2, 3, 4\). Tổng là \(1 + 2 + 3 + 4 = 10\).

Test 2

Input
lqdoj2024
Output
8
Note

Các chữ số xuất hiện trong xâu là \(2, 0, 2, 4\). Tổng là \(2 + 0 + 2 + 4 = 8\).

Constraints

  • Độ dài xâu \(|S| \le 10^6\).
  • Xâu \(S\) chỉ chứa các ký tự ASCII.

5. Tổng các số trong xâu

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một xâu \(S\) chứa lẫn lộn chữ cái và chữ số. Hãy tách các số nguyên xuất hiện trong xâu và tính tổng của chúng.

Ví dụ: abc12de5f \(\rightarrow\) Có số \(12\)\(5\) \(\rightarrow\) Tổng = \(17\).

Input

  • Một dòng duy nhất chứa xâu \(S\).

Output

  • In ra một số nguyên duy nhất là tổng của các số tìm được trong xâu \(S\).

Example

Test 1

Input
A100B20C3
Output
123

Constraints

  • Độ dài xâu \(S\) không quá \(10^5\) ký tự.
  • Các số nguyên trong xâu và tổng của chúng đảm bảo nằm trong phạm vi số nguyên 64-bit (long long trong C++).

6. Đếm từ

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Trong một vương quốc ngôn ngữ xa xôi, nhà vua đang cố gắng thống kê số lượng từ ngữ trong các bức mật thư của mình. Mỗi bức mật thư là một xâu ký tự \(S\) bao gồm các chữ cái và các dấu cách. Một "từ" được định nghĩa là một dãy các chữ cái liên tiếp nhau, và các từ này được ngăn cách với nhau bởi một hoặc nhiều dấu cách.

Nhiệm vụ của bạn là giúp nhà vua đếm xem có tổng cộng bao nhiêu từ xuất hiện trong xâu ký tự \(S\) đã cho.

Input

  • Một dòng duy nhất chứa xâu ký tự \(S\) (\(|S| \le 10^6\)). Xâu \(S\) chỉ gồm các chữ cái Latinh (a-z, A-Z) và các dấu cách.

Output

  • Một số nguyên duy nhất là số lượng từ tìm được trong xâu \(S\).

Example

Test 1

Input
Lap trinh thi that la vui
Output
6
Note

Các từ trong xâu là: Lap, trinh, thi, that, la, vui. Tổng cộng có \(6\) từ.

Test 2

Input
   Welcome   to  LQDOJ   
Output
3
Note

Mặc dù có nhiều dấu cách ở đầu, cuối và giữa các từ, xâu vẫn chỉ chứa \(3\) từ là: Welcome, to, LQDOJ.

Constraints

  • Xâu \(S\) có độ dài không quá \(10^6\) ký tự.
  • Xâu có thể chứa nhiều dấu cách liên tiếp hoặc dấu cách ở hai đầu.

7. Từ dài nhất

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một dòng văn bản. Hãy tìm từ có độ dài lớn nhất trong dòng đó. Nếu có nhiều từ cùng độ dài, in ra từ xuất hiện đầu tiên.

Input

  • Một dòng văn bản.

Output

  • Từ dài nhất và độ dài của nó, cách nhau bởi một khoảng trắng.

Example

Test 1

Input
Lap trinh C++ that thu vi
Output
trinh 5