2025 ôn THT A - Buổi 1

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 Chia quà (THTA Thanh Khê 2022) 100 (p) 5.0s 512M
2 Tổng 3K (THTA Thanh Khê 2022) 100 (p) 1.0s 512M
3 Màu chữ (THTA Thanh Khê 2022) 100 (p) 1.0s 512M
4 Mật mã Caesar 100 (p) 1.0s 256M

1. Chia quà (THTA Thanh Khê 2022)

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

Jack mua \(N\) cuốn sách và muốn chia đều cho \(M\) người bạn thân. Em hãy giúp Jack biết cần mua thêm ít nhất bao nhiêu cuốn sách nữa để có thể thực hiện được việc chia quà cho các bạn của mình đều nhau?

Input

  • Nhập vào hai số \(N\) và \(M\) với:
    • \(0 < N, M < 10^{12}\)

Output

  • In ra một số nguyên duy nhất là số sách ít nhất mà Jack cần bổ sung (nếu đủ thì ghi \(0\)).

Example

Test 1

Input
20
5
Output
0
Note

Jack có \(20\) cuốn sách và chia cho \(5\) người bạn, mỗi người sẽ có \(4\) cuốn đều nhau.

Test 2

Input
30
8
Output
2
Note

Jack có \(30\) cuốn sách và chia cho \(8\) người bạn, để mỗi người có số sách đều nhau thì Jack phải mua thêm ít nhất \(2\) cuốn.

2. Tổng 3K (THTA Thanh Khê 2022)

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

Cho dãy số có dạng như sau: \(11, 14, 17, \ldots, 68, \ldots\)

Jack đố Oggy: khi nhập vào một số \(k\) bất kỳ (\(k>0\)) thì Oggy phải trả lời đúng tổng các số hạng thứ \(k\), \(k+1\) và \(k+2\) của dãy số trên.

Input

  • Nhập vào một số nguyên dương \(k\) (\(k>0\)).

Output

  • In ra tổng các số hạng thứ \(k\), \(k+1\) và \(k+2\) của dãy số đã cho.

Giới hạn

  • Có \(60\%\) test tương ứng \(50\%\) số điểm của bài với \(1 \le k < 100\).
  • Có \(40\%\) test khác tương ứng với \(40\%\) số điểm còn lại của bài với \(k < 10^{12}\).

Example

Test 1

Input
3
Output
60
Note

Dãy số: \(11, 14, 17, 20, 23, \ldots, 68, \ldots\).

  • Số thứ \(k=3\): \(17\)
  • Số thứ \(k+1=4\): \(20\)
  • Số thứ \(k+2=5\): \(23\)

Tổng: \(17+20+23=60\).

3. Màu chữ (THTA Thanh Khê 2022)

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

Jack viết dòng chữ TIN HOC TRE THANH KHE lặp lại nhiều lần thành dãy các kí tự liên tiếp như sau:

TINHOCTRETHANHKHETINHOCTRETHANHKHETIN…..

Sau đó Jack tô màu các chữ cái trong dãy theo thứ tự Blue, Red, White, Yellow, Blue, Red, White, Yellow,...

Yêu cầu: Nhập vào số nguyên dương \(k\) (\(k \geq 1\)), hãy in ra màn hình chữ cái thứ \(k\) và màu của kí tự đó trong dãy theo định dạng: Kí tự - Màu

Input

  • Một số nguyên dương \(k\) (\(k \geq 1\)).

Output

  • In ra màn hình chữ cái thứ \(k\) và màu của kí tự đó theo định dạng: Kí tự-Màu

Example

Test 1

Input
5
Output
O-Blue
Note

Dãy: TINHOCTRETHANHKHETINHOCTRETHANHKHE…

Kí tự thứ \(5\) là O, màu thứ \(5\) (theo chu kỳ 4) là Blue.

Test 2

Input
23
Output
C-White
Note

Dãy: TINHOCTRETHANHKHETINHOCTRETHANHKHE…

Kí tự thứ \(23\) là C, màu thứ \(23\) (theo chu kỳ 4) là White.

Scoring

  • Có \(60\%\) test tương ứng \(60\%\) số điểm của bài với \(1 \leq k < 100\).
  • Có \(40\%\) test khác tương ứng với \(40\%\) số điểm còn lại của bài với \(k < 10^{12}\).

4. Mật mã Caesar

Đ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 mã học, Mật mã Caesar (hay còn được gọi là Mật mã của Caesar, Mật mã chuyển vị, Mã của Caesar hay Chuyển vị Caesar) là một trong những kỹ thuật mã hóa đơn giản và phổ biến nhất. Đây là một dạng mật mã thay thế, trong đó mỗi ký tự trên văn bản thô sẽ được thay bằng một ký tự khác, có vị trí cách nó một khoảng xác định trong bảng chữ cái. Ví dụ, nếu dịch chuyển sang trái 3 bước, \(D\) sẽ trở thành \(A\), \(E\) sẽ trở thành \(B\), v.v..

Để mã hóa, người ta sẽ chọn ra một khóa \(k\): chính là số bước dịch chuyển sang phải. VD với \(k = 4\) thì ta có bảng chuyển đổi sau

Để mã hóa, ta thay chữ cái ở dòng trên bằng chữ cái ở vị trí tương ứng ở dòng dưới.

Yêu cầu: Cho trước khóa \(k\) và xâu tin nhắn, hãy mã hóa theo quy luật trên.

Input

  • Dòng đầu chứa số nguyên \(k (|k| \le 10^6)\)
  • Dòng tiếp theo chứa xâu \(S (1 \le |S| \le 1000)\) (chỉ gồm dấu cách hoặc các kí tự Latin in hoa)

Output

  • Một dòng duy nhất chứa xâu đã mã hóa

Chấm điểm

  • Subtask \(1 (50\%): k < 10\)
  • Subtask \(2 (50\%): k \le 10^6\)

Ví dụ

Input

2
ACCEPTED

Output

CEEGRVGF

Lưu ý
Với dấu cách, ta giữ nguyên chứ không mã hóa nó.

Chú thích: một số hình minh họa khác:

Vòng bên ngoài là kí tự gốc, vòng bên trong là kí tự đã được mã hóa, còn số ghi ở giữa chính là khoảng cách dịch chuyển.