Luyện tập: String

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 Xâu đối xứng (Palindrom) 100 (p) 1.0s 640M
2 Xoá chữ 100 (p) 1.0s 1G
3 String #1 100 (p) 1.0s 256M
4 String #2 100 (p) 1.0s 256M
5 String #4 100 (p) 1.0s 256M
6 String check 100 (p) 1.0s 256M
7 Uppercase #1 100 (p) 1.0s 1G
8 Uppercase #2 100 (p) 1.0s 1G

1. Xâu đối xứng (Palindrom)

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

Cho một xâu kí tự, hãy kiểm tra tính đối xứng của nó. Một xâu kí tự được gọi là xâu đối xứng nếu ta đọc xâu này từ trái sang phải hoặc từ phải sang trái là như nhau.

Input

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

Output

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

Constraints

  • \(1 \leq S.size() \leq 255\)

Example

Test 1

Input
abccba 
Output
YES

Test 2

Input
abcccc 
Output
NO

2. Xoá chữ

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

Cho một xâu \(s\) và hai vị trí \(l, r\). Yêu cầu của bạn là xoá các chữ cái từ vị trí \(l\) đến vị trí \(r\) rồi đưa lại từ đã được xoá.

Input

  • Dòng đầu nhập vào xâu \(s\) \((0 < |s| < 225)\).
  • Dòng 2 nhập vào 2 số nguyên \(l, r\) \((1 \leq l \leq r \leq |s|)\).

Output

  • Một dòng duy nhất là xâu đã được biến đổi.

Example

Test 1
Input
codethedream
5 7
Output
codedream

3. String #1

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

Nhập xâu \(S\). Đếm số ký tự của xâu \(S\).

Input

  • Nhập xâu \(S\) (tổng số ký tự không vượt quá \(10^5\)).

Output

  • In ra số lượng ký tự của xâu \(S\).

Example

Test 1
Input
lqdoj
Output
5

4. String #2

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

Nhập xâu \(S\). Đếm số từ trong xâu \(S\).

Input

  • Nhập xâu \(S\) (tổng số ký tự không vượt quá \(10^5\)).

Output

  • In ra số lượng từ trong xâu \(S\).

Example

Test 1
Input
code dream
Output
2

5. String #4

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

Nhập xâu \(S\), số nguyên dương \(M\) và \(M\) ký tự. Hãy in ra số lần các ký tự đó xuất hiện.

Input

  • Dòng 1 nhập xâu \(S\) (không quá 225 ký tự).
  • Dòng 2 nhập số nguyên dương \(M\) (\(1 \leq M \leq 100\)).
  • \(M\) dòng tiếp theo mỗi dòng 1 ký tự.

Output

  • Gồm \(M\) dòng, lần lượt là số lần xuất hiện của \(M\) kí tự.

Example

Test 1
Input
le quy don online judge
3
l
o
j
Output
2
2
1

6. String check

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

Nhập xâu \(S\). Kiểm tra xem xâu có đủ 26 ký tự Latin hay không (cả in thường cả in hoa).

Input

  • Nhập xâu \(S\) (\(1 \leq |S| \leq 225\)).

Output

  • In ra "YES" nếu có đủ 26 ký tự. In ra "NO" nếu không đủ.

Example

Test 1
Input
The quick brown fox jumps over a lazy dog
Output
YES
Test 2
Input
LQDOJ Le Quy Don Online Judge
Output
NO

7. Uppercase #1

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

Cho một đoạn văn tồn tại cả chữ hoa và chữ thường. Hãy chỉnh sửa đoạn văn sao cho tất cả các ký tự đều viết hoa.

Input

  • Một dòng duy nhất nhập vào xâu \(s\) \((0 < |s| < 225)\).

Output

  • Dòng đầu tiên là số kí tự cần được sửa.
  • Dòng thứ 2 là câu văn sau khi sửa.

Example

Test 1
Input
Hi iH
Output
2
HI IH

8. Uppercase #2

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

Có một loại giấy kì lạ có thể thay đổi chữ hoa thành chữ thường và chữ thường thành chữ hoa. Nhiệm vụ của bạn là hãy dự đoán xem nếu thay đổi từ vị trí \(i\) đến vị trí \(j\) sẽ thu được từ mới là như nào?

Input

  • Dòng đầu tiên nhập vào xâu \(s\) \((0 < |s| < 225)\).
  • Dòng thứ 2 nhập vào 2 số \(i, j\) \((1 \le i \le j \le |s|)\).

Output

  • Một dòng duy nhất là kết quả mà đề bài yêu cầu.

Example

Test 1
Input
codedream
3 5
Output
coDEDream