| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | Truy vấn chữ số | 100 (p) | 1.0s | 1G |
| 2 | Ký tự thứ K | 100 (p) | 1.0s | 1G |
| 3 | Dãy ngoặc | 100 (p) | 1.0s | 1G |
| 4 | Trời ơi cái đoạn này | 100 (p) | 1.0s | 1G |
| 5 | Không! Không! Bóng nổ? | 100 (p) | 1.0s | 1G |
Cho một xâu dài vô hạn chứa tất cả các số nguyên dương theo trình tự tăng dần: \(12345678910111213141516171819202122232425…\)
Nhiệm vụ của bạn là xử lí \(q\) truy vấn trả lời cho câu hỏi: số nào nằm ở vị trí thứ \(k\) trong xâu?
Dòng đầu tiên chứa một số nguyên duy nhất \(q\): số lượng truy vấn.
Sau đó gồm \(q\) dòng tiếp theo biểu diễn các truy vấn, mỗi dòng là một số nguyên \(k\): vị trí của kí tự cần tìm trong xâu (xâu được đánh số từ \(1\)).
Với mỗi truy vấn, in ra kết quả tương ứng trên từng dòng.
3
7
19
12
7
4
1
Cho hàm \(F(n)\) được định nghĩa như sau:
Cho hai số nguyên dương \(n\) và \(k\), hãy cho biết ký tự thứ \(k\) của \(F(n)\) là bao nhiêu. Biết rằng ký tự đầu tiên của \(F(n)\) được đánh số là \(1\).
Dòng thứ nhất chứa hai số nguyên dương \(n\) và \(k\)
Dòng thứ nhất chứa ký tự thứ \(k\) của \(F(n)\)
3 2
b
\(1 \leq k \leq |F(n)|\)
Có thể định nghĩa khái niệm dãy ngoặc đúng dưới dạng đệ quy như sau:
Ví dụ dãy ngoặc đúng: (), (()), ()(), (())()
Ví dụ dãy ngoặc sai: )(, ((((, ()((, )))), )()(
Bạn hãy viết chương trình liệt kê tất cả các dãy ngoặc đúng có chiều dài \(n\) (\(n\) chẵn)
4
2
Có 2 dãy ngoặc đúng là (()) và ()()
T-rung có một dãy yêu thích \(a\) gồm \(n\) số nguyên. Anh ấy viết nó ra trên bảng trắng theo thứ tự sau:
Ví dụ, nếu \(n\) = 7 và \(a\) = \([3, 1, 4, 1, 5, 9, 2]\), T-rung sẽ viết dãy số lên bảng trắng là \([3, 4, 5, 2, 9, 1, 1]\).
Bây giờ bạn nhìn thấy dãy số đã được viết trên bảng trắng và muốn khôi phục lại dãy yêu thích của T-rung.
6
7
3 4 5 2 9 1 1
4
9 2 7 1
11
8 4 3 1 2 7 8 7 9 4 2
1
42
2
11 7
8
1 1 1 1 1 1 1 1
3 1 4 1 5 9 2
9 1 2 7
8 2 4 4 3 9 1 7 2 8 7
42
11 7
1 1 1 1 1 1 1 1
T-rung rất thích chơi game, đặc biệt là các game giải đố. Với khả năng lập trình của mình, T-rung đã nghĩ ra một trò chơi mới mang tên "No No! Balls pop".
Trong "No No! Balls pop", người chơi sẽ điều khiển một lưới \(m x n\) chứa các quả bóng, mỗi quả bóng có một số nguyên trên đó. Nhiệm vụ của người chơi là đập búa vào các quả bóng để làm vỡ chúng, và tất cả các quả bóng có cùng số nguyên với quả bóng bị đập đầu tiên cũng sẽ vỡ theo. Người chơi có thể đập búa tối đa \(k\) lần. Mục tiêu là làm vỡ nhiều bóng nhất có thể trong số lần đập búa cho phép.
Giả sử bạn có một lưới \(3 x 3\) với các quả bóng được gán số như sau:
\(1\) \(1\) \(2\)
\(2\) \(1\) \(1\)
\(3\) \(3\) \(1\)
Nếu người chơi đập vào quả bóng có số \(1\) ở vị trí \((0, 0)\), các quả bóng có số \(1\) ở các vị trí khác cũng sẽ vỡ. Sau đó, nếu người chơi đập vào quả bóng có số \(2\), tất cả các quả bóng có số \(2\) cũng sẽ vỡ.
Bạn là người đầu tiên thử nghiệm trò chơi kỳ lạ do T-rung nghĩ ra này. Hãy tìm cách chiến thắng thuyết phục trò chơi này nhé!
3 6 2
1 2 1 3 1 1
2 1 4 1 4 3
1 2 1 4 1 1
13