Bài kiểm tra phân lớp Tân Khoa lần 1 năm 2024

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 Chữ số hàng chục 100 (p) 1.0s 256M
2 Phép cộng phân số 100 (p) 1.0s 256M
3 Kiểm tra hoán vị 100 (p) 1.0s 256M
4 Loong Tracking 100 (p) 1.0s 255M
5 Hoán đổi 1 100 (p) 1.0s 255M
6 Khoảng cách Manhattan không quá L 100 (p) 2.0s 640M

1. Chữ số hàng chục

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

Yêu cầu: Viết chương trình nhập vào số nguyên dương \(n\), in ra chữ số hàng chục của \(n\).

Dữ liệu: Một dòng duy nhất chứa số nguyên dương \(n\), dữ liệu đảm bảo \(10 \le n \le 1\ 000\ 000\ 000\).

Kết quả: Một dòng duy nhất chứa chữ số hàng chục của \(n\).

Ví dụ 1

Dữ liệu
123
Kết quả
2

2. Phép cộng phân số

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

Yêu cầu: Viết chương trình nhập vào bốn số \(a, b, c, d\), in ra màn hình tổng của phân số \(\frac{a}{b}\) và phân số \(\frac{c}{d}\).

Dữ liệu: Một dòng duy nhất chứa bốn số nguyên dương \(a, b, c, d\), dữ liệu đảm bảo \(a, b, c, d \le 1000\).

Kết quả: Một dòng duy nhất chứa hai số nguyên dương \(x\) và \(y\), trong đó phân số \(\frac{x}{y}\) là tổng của phân số \(\frac{a}{b}\) và phân số \(\frac{c}{d}\). Phân số \(\frac{x}{y}\) là phân số tối giản.

Ví dụ 1

Dữ liệu
3 4 6 8
Kết quả
3 2

3. Kiểm tra hoán vị

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

Dãy số \(a\) có \(n\) phần tử được xem là một dãy hoán vị, nếu như dãy đó chứa đầy đủ các số từ \(1\) đến \(n\).

Yêu cầu: Viết chương trình nhập vào một dãy số \(a\). Kiểm tra xem dãy số đó có phải dãy hoán vị hay không?

Dữ liệu:

  • Dòng đầu tiên chứa số nguyên dương \(n\).
  • Dòng thứ hai chứa \(n\) số nguyên dương \(a_1, a_2, \dots a_n\).

Dữ liệu đảm bảo \(n, a_i \le 10^5\).

Kết quả
In ra màn hình YES nếu là dãy hoán vị. Ngược lại, trong các giá trị từ \(1\) đến \(n\), in ra giá trị nhỏ nhất không có trong dãy.

Ví dụ 1

Dữ liệu
4
1 3 1 4
Kết quả
2

4. Loong Tracking

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

Takahashi đã tạo ra một trò chơi để người chơi có thể điều khiển 1 con rồng trên mặt phẳng tọa độ. Con rồng gồm \(N\) bộ phận, với bộ phận đầu tiên được gọi là Đầu

Ban đầu, phần thứ i nằm ở tọa độ (i,0). Xử lý Q truy vấn như sau:

  • 1 C: Di chuyển phần đầu theo hướng C. Ở đây, C là một trong 4 hướng R, L, U hoặc D (Right, Left, Up, Down). Các bộ phận còn lại sẽ di chuyển đến vị trí của bộ phận phía trước.
  • 2 p: Tìm tọa độ của bộ phận thứ p

Input:

  • Dòng đầu tiên chứa 2 số nguyên dương N và Q (\(2 \le N \le 10^6\), \(1 \le Q \le 2*10^5\))
  • Q dòng tiếp theo, mỗi dòng chứa 1 truy vấn

Output

  • In ra q dòng, trong đó q là số truy vấn thuộc loại 2.
  • Dòng thứ i phải chứa hai số x và y được tách ra bởi dấu cách, trong đó (x,y) là câu trả lời cho truy vấn thứ i của loại 2 đó

Sample Input

5 9
2 3
1 U
2 3
1 R
1 D
2 3
1 L
2 1
2 5

Sample Output
3 0
2 0
1 1
1 0
1 0

5. Hoán đổi 1

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

Bạn được cho một chuỗi ký tự \(S\). Tìm số chuỗi khác nhau có thể có được khi thực hiện thao tác sau đúng một lần.

  • Chọn hai ký tự ở vị trí khác nhau và hoán đổi vị trí cho nhau.

Ví dụ: Nếu xâu \(S\) = 'abc' và khi bạn chọn hoán đổi hai ký tự ở vị trí \(1\) và \(3\) thì xâu \(S\) sẽ trở thành 'cba'

Dữ liệu

  • Gồm một dòng duy nhất chứa xâu \(S\)

Kết quả

In ra một số nguyên là số lượng chuỗi khác nhau khi thực hiện thao tác trên đúng một lần trên xâu \(S\)

Input:

abc

Output:

3

Giải thích

  • Hoán đổi ký tự ở vị trí \(1\) và ký tự ở vị trí \(2\) xâu \(S\) trở thành: \(bac\)
  • Hoán đổi ký tự ở vị trí \(1\) và ký tự ở vị trí \(3\) xâu \(S\) trở thành: \(cba\)
  • Hoán đổi ký tự ở vị trí \(2\) và ký tự ở vị trí \(3\) xâu \(S\) trở thành: \(acb\)
    Do đó thao tác trên xâu \(abc\) sẽ thu được \(3\) xâu khác nhau là \(bac\), \(cba\), \(acb\)

Input:

aaaaa

Output:

1

Giải thích

  • Dù chọn hai vị trí nào đi nữa ta chỉ có thể thu được một xâu duy nhất là \(aaaaa\)

Giới hạn

  • Dữ liệu đảm bảo xâu \(S\) chỉ gồm các kí tự chữ hoa, chữ thường, và số.
  • 60% số điểm xâu \(S\) có độ dài không vượt quá \(1000\).
  • 40% số điểm xâu \(S\) có độ dài không vượt quá \(10^6\).

6. Khoảng cách Manhattan không quá L

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

Trong hệ tọa độ Descartes, khoảng cách Manhattan giữa hai điểm \(A(x_1,y_1)\) và \(B(x_2,y_2)\) là \(|x_1-x_2|+|y_1-y_2|\).

Cho trước \(n\) điểm trên hệ tọa độ, điểm \(K(z,0)\) và giá trị \(l\).

Nhiều điểm có thể chung tọa độ.

Trong \(n\) điểm ấy, hãy tìm có bao nhiêu điểm có khoảng cách Manhattan với điểm \(K\) không quá \(l\).

80% test: \(n,q \leq 10^3\)

Input

  • Dòng đầu tiên chứa ba số nguyên dương \(n, q\) và \(l\) \((1 \leq n,q \leq 3 \cdot 10^5, 1\leq l \leq 10^9)\). Trong đó \(q\) là số câu hỏi.
  • \(n\) dòng, mỗi dòng chứa tọa độ của điểm \(i\) là hai số nguyên dương \(x_i\) và \(y_i(1 \leq x_i, y_i \leq 10^9)\).
  • Một dòng chứa \(q\) số số nguyên dương \(z\).

Output

  • \(q\) dòng, mỗi dòng chứa câu trả lời tương ứng.

Sample Input

5 3 5
1 3
4 2
2 5
4 1
1 3
3 4 7

Sample Output

4
2
2