| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | Cánh Diều - COUNTWORD - Đếm số từ | 100 (p) | 1.0s | 256M |
| 2 | Cánh diều - FULLNAME - Nối họ, đệm, tên | 100 (p) | 1.0s | 256M |
| 3 | Cánh diều - SUBSTR - Đếm số lần xuất hiện xâu con | 100 (p) | 1.0s | 256M |
| 4 | Cánh diều - FINDSTRING - Tìm xâu con đầu tiên | 100 (p) | 1.0s | 256M |
| 5 | Cánh Diều - REPLACE - Thay thế | 100 (p) | 1.0s | 256M |
| 6 | Cánh Diều - DELETE - Xoá kí tự trong xâu | 100 (p) | 1.0s | 256M |
| 7 | Cánh diều - SUBSTR2 - Xâu con 2 | 100 (p) | 1.0s | 256M |
| 8 | Cánh diều - CLASS - Ghép lớp | 100 (p) | 1.0s | 256M |
| 9 | Chuyển đổi xâu | 100 (p) | 1.0s | 256M |
Nhập vào từ bàn phím hai xâu \(s_1\), \(s_2\), mỗi xâu không chứa kí tự dấu cách dư ở đầu, cuối xâu, phân cách giữa các từ chỉ là \(1\) dấu cách. Nếu xâu không chứa dấu cách thì nó là một từ, trong trường hợp ngược lại, dấu cách phân tách các từ trong xâu. Viết chương trình in ra tổng số từ trong cả hai xâu.
Dòng đầu ghi xâu \(s_1\)
Dòng thứ \(2\) ghi xâu \(s_2\)
Các xâu chỉ gồm các kí tự latin, kí tự chữ số và dấu cách, có độ dài không quá \(10^6\)
Test 1
Duoi trang quyen da goi he
Dau tuong lua luu lap loe dam bong
14
Cho 3 dòng, mỗi dòng ghi một xâu kí tự chỉ gồm các kí tự latin viết thường có thể chứa dấu cách lần lượt thể hiện Họ, Đệm, Tên của một người. Hãy in ra một dòng gồm họ tên đầy đủ của người đó (xem thêm ví dụ minh hoạ).
Test 1
Phan
Dinh
Thuc
Phan Dinh Thuc
Một xâu \(A\) được gọi là xâu con của xâu \(B\) nếu các kí tự của xâu \(A\) được xuất hiện liên tiếp trong xâu \(B\). Ví dụ \(“apple”\), \(“appl”\), \(“pple”\), \(“ple”\) là xâu con của xâu \(“apple”\); nhưng xâu \(“ppal”\) không là xâu con của xâu \(“apple”\).
Yêu cầu: Cho xâu \(B\) và xâu \(A\); Đếm số lần xuất hiện không giao nhau của xâu \(A\) trong xâu \(B\).
Dòng đầu ghi xâu \(B\).
Dòng thứ hai ghi xâu \(A\).
Các xâu chỉ gồm kí tự latin viết thường không chứa dấu cách. Các xâu có độ dài không quá \(100\).
Test 1
aaa
aa
1
Hàm \(A.find(B)\) trả về vị trí đầu tiên xuất hiện của xâu \(B\) trong xâu \(A\). Nếu không tồn tại xâu con \(B\) trong \(A\), trả về \(-1\).
Sử dụng hàm find thực hiện các yêu cầu sau:
Cho một xâu \(S\) và \(Q\) truy vấn, mỗi truy vấn gồm có một xâu \(x\): hãy tìm vị trí đầu tiên xuất hiện của xâu \(x\) trong xâu \(S\) ban đầu. Xâu gồm các kí tự latin gồm chữ và số.
Dòng đầu ghi xâu \(S\) có độ dài không quá \(10^6\)
Dòng thứ hai ghi \(Q\) là số lượng truy vấn
Tiếp theo là \(Q\) dòng, mỗi dòng ghi một xâu \(x\) có độ dài không quá \(10^6\)
Test 1
Cai xac xinh xinh
2
xinh
be
8
-1
Hàm \(y.replace(x_1, x_2)\) tạo ra một xâu mới từ xâu \(y\) bằng cách thay thế xâu con \(x_1\) của \(y\) bằng xâu \(x_2\). Tất cả các xâu con bằng \(x_1\) và không giao nhau đều được thay bằng xâu \(x_2\).
Yêu cầu:
Với mỗi truy vấn, hãy in ra xâu có được bằng cách thay thế xâu con \(x_1\) của \(y\) bằng xâu con \(x_2\).
Test 1
2
truc xinh truc moc dau dinh
dau dinh
bo ao
em xinh em dung mot minh cung xinh
mot minh
noi nao
truc xinh truc moc bo ao
em xinh em dung noi nao cung xinh
Test 2
1
truc xinh truc moc dau dinh
truc
abc
abc xinh abc moc dau dinh
Viết chương trình nhập vào một xâu \(s\), và một kí tự \(c\). Hãy tạo xâu mới bằng cách xoá các kí tự \(c\) trong xâu \(s\).
Dòng đầu ghi xâu \(s\), độ dài không quá \(10^6\).
Dòng thứ hai ghi một kí tự (latin thường).
Test 1
123a45a6a78
a
12345678
Xác định xâu con \(x\) của xâu \(y\) biết \(x\) gồm các ký tự trong đoạn chỉ số \([L;R)\) của \(y\) (từ \(L\) tới \(R\), nhưng không bao gồm \(R\))
Cho một xâu kí tự \(y\) chỉ gồm các kí tự latin viết thường có thể chứa dấu cách. Có \(N\) truy vấn, mỗi truy vấn gồm hai số nguyên \(L, R\) \((0\le L \le R < \texttt{len}(y))\).
Yêu cầu: với mỗi truy vấn, in ra xâu con của xâu \(y\) từ chỉ số \(L\) tới chỉ số \(R\)?
Dòng đầu ghi xâu y có độ dài không quá \(10^6\); xâu gồm các kí tự latin và số.
Dòng thứ hai ghi số nguyên \(N\) là số lượng truy vấn \((1\le N\le 100)\)
\(N\) dòng tiếp theo mỗi dòng ghi hai số nguyên \(L, R\)
Test 1
0123456
3
2 5
2 3
0 7
234
2
0123456
Cho danh sách của lớp A và lớp B. Lớp A gồm \(N\) học sinh, lớp B gồm \(M\) học sinh. Tên mỗi học sinh là một xâu kí tự gồm các kí tự Latin chữ hoa, chữ thường, không chứa dấu cách. Người ta thực hiện ghép hai lớp A, B thành lớp C, yêu cầu đưa ra danh sách học sinh lớp ghép C theo thứ tự alphabeta tăng dần.
Dòng đầu ghi hai số nguyên \(N, M\) \((1 \le N, M \le 100)\)
Dòng thứ hai ghi \(N\) xâu kí tự, mỗi xâu kí tự là một tên có cấu trúc như quy cách.
Dòng thứ ba ghi \(M\) xâu kí tự, mỗi xâu kí tự là một tên có cấu trúc như quy cách.
Các tên cách nhau bởi dấu cách.
Test 1
3 5
Lan Hoa Hung
Anh Thuc Nghia Dung Vu
Anh Dung Hoa Hung Lan Nghia Thuc Vu
Thầy Hải được trao \(1\) bức thư tình từ \(1\) bạn nữ xinh đẹp giấu tên, nhưng trong bức thư, bạn nữ cố tình ghi lẫn lộn giữa chữ hoa, chữ thường và yêu cầu thầy hãy chuyển ngược lại (chữ hoa thành chữ thường và ngược lại). Thầy Hải rất thích, nhưng thầy đang bận ôn thi cho học sinh nên không muốn mất thời gian để chuyển đổi, các bạn hãy viết chương trình giúp thầy nhé.
Test 1
dEAR hAI
Dear Hai