THTA TP ĐN 2024 & Thi thử HSG9 Lần 1

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 Chữ số cuối cùng (THTA TP. Đà Nẵng 2024) 100 (p) 1.0s 256M
2 Xâu con (THTA TP. Đà Nẵng 2024) 100 (p) 2.0s 256M
3 Bảng xoắn ốc (THTA TP. Đà Nẵng 2024) 100 (p) 2.0s 256M
4 Thi thử HSG9 TFL - Lần 1 - Dịch xâu 100 (p) 1.0s 256M
5 Thi thử HSG9 TFL - Lần 1 - Dãy số 100 (p) 1.0s 256M

1. Chữ số cuối cùng (THTA TP. Đà Nẵng 2024)

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

Lũy thừa \(a^n\) (đọc là \(a\) mũ \(n\)) là tích của \(n\) thừa số \(a\). Ký hiệu \(a^n = a \times a \times \dots \times a\) (\(n\) thừa số \(a\)). Quy ước: \(a^0 = 1\).

Ví dụ: \(2^4 = 2 \times 2 \times 2 \times 2\).

Nam rất thích các bài toán về lũy thừa. Trong ngày kỷ niệm 49 năm giải phóng thành phố Đà Nẵng 29/3/1975 - 29/3/2024, Nam đố Mai một bài toán sau: "Cho một số tự nhiên \(n\), in ra chữ số cuối của phép lũy thừa \(2903^n\)".

Bạn là người giỏi lập trình, hãy giúp Mai giải bài toán này nhé!

Input

  • Nhập từ bàn phím số nguyên \(n\) (\(n < 10^{10}\)).

Output

  • In ra màn hình kết quả của bài toán là chữ số cuối của giá trị \(2903^n\).

Example

Test 1

Input
1
Output
3
Note

Chữ số cuối của \(2903^1 = 2903\) là số \(3\).

Test 2

Input
2
Output
9
Note

Chữ số cuối của \(2903^2 = 8427409\) là số \(9\).

2. Xâu con (THTA TP. Đà Nẵng 2024)

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

Cho xâu \(S_1\) là xâu con của một xâu \(S_2\) nếu \(S_1\) là một chuỗi các ký tự liên tiếp của \(S_2\).
Ví dụ: bc là xâu con của abcd.

Yêu cầu: Đọc hai xâu \(S_1, S_2\). Nếu xâu \(S_1\) là xâu con của xâu \(S_2\) thì in ra vị trí xuất hiện cuối cùng của xâu \(S_1\) trong \(S_2\). Nếu xâu \(S_1\) không phải là xâu con của xâu \(S_2\) thì ghi ra số \(0\).

Input

  • Nhập từ bàn phím 2 dòng: dòng thứ nhất ghi xâu \(S_1\), dòng thứ hai ghi xâu \(S_2\).

Output

  • In ra màn hình vị trí xuất hiện cuối cùng của xâu con, hoặc \(0\) nếu không thỏa mãn.

Example

Test 1

Input
abc
abcabcbc
Output
4
Note

Giải thích: \(S_1 =\) abc, \(S_2 =\) abcabcbc. Vị trí xuất hiện cuối cùng của xâu \(S_1\) trong xâu \(S_2\) là vị trí thứ \(4\) trong xâu \(S_2\) (abcabcbc).

Test 2

Input
ababab
babsbabbb
Output
0

3. Bảng xoắn ốc (THTA TP. Đà Nẵng 2024)

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

Cho bảng hình vuông kích thước \(N \times N\). Người ta điền \(N \times N\) số đầu tiên của dãy \(1, 3, 5, \dots\) vào bảng theo hình xoắn ốc từ ngoài vào trong, theo chiều kim đồng hồ bắt đầu từ ô góc trái bên trên.

Hình minh họa chính thức cho bảng \(4 \times 4\) và \(5 \times 5\):

Input

  • Nhập từ bàn phím một số nguyên dương \(N\) (\(1 \le N \le 10000\)).

Output

  • In ra màn hình một số nguyên dương là tổng các số lớn nhất trên mỗi dòng của bảng.

Example

Test 1

Input
4
Output
84
Note

Với \(N = 4\), các số lớn nhất trên mỗi dòng của bảng lần lượt là \(7, 27, 31, 19\) có tổng là \(84\).

Test 2

Input
5
Output
165
Note

Với \(N = 5\), các số lớn nhất trên mỗi dòng của bảng lần lượt là \(9, 37, 49, 45, 25\) có tổng là \(165\).

4. Thi thử HSG9 TFL - Lần 1 - Dịch xâu

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: MOVESTR.INP Output: MOVESTR.OUT

Cho một xâu kí tự \(s\) chỉ gồm các kí tự trong bảng mã ASCII. Ta gọi một phép dịch xâu \(s\) qua \(k\) kí tự là chuyển \(k\) kí tự ở cuối của xâu \(s\) lên đầu.

Ví dụ: \(s\) = abbaac, \(k = 3\) thì xâu \(s\) trở thành aacabb.

Yêu cầu: Cho xâu \(s\) và một số nguyên dương \(k\). In ra xâu \(s\) sau khi dịch qua \(k\) kí tự.

Input

  • Dòng đầu gồm xâu \(s\).
  • Dòng thứ hai gồm số nguyên dương \(k\).
  • Dữ liệu đảm bảo \(1 \le k \le |s| \le 300\), với \(|s|\) là độ dài xâu \(s\).

Output

  • Một dòng duy nhất là xâu \(s\) sau khi dịch qua \(k\) kí tự.

Example

Test 1

Input
Npndqtldcphktnh
5
Output
hktnhNpndqtldcp

Scoring

  • \(60\%\) số điểm có \(1 \le k \le |s| \le 50\) và xâu \(s\) chỉ gồm các kí tự in thường a, b, c, d, ..., z.
  • \(40\%\) số điểm còn lại không có ràng buộc gì thêm.

5. Thi thử HSG9 TFL - Lần 1 - Dãy số

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: SEQ.INP Output: SEQ.OUT

Cho dãy số \(f_1, f_2, f_3, f_4, f_5, \dots\) được định nghĩa như sau:

  • \(f_1 = 2\)
  • \(f_i = f_{i-1} + i \cdot (i + 1)\)

Yêu cầu: Tính \(f_n\).

Input

  • Một dòng duy nhất gồm số nguyên dương \(n\) (\(n \leq 10^9\)).

Output

  • Một dòng duy nhất là giá trị của \(f_n\) sau khi chia lấy dư cho \(10^9 + 7\).

Example

Test 1

Input
4
Output
40
Note

\(f_2 = f_1 + 2 \cdot 3 = 2 + 6 = 8\)

\(f_3 = f_2 + 3 \cdot 4 = 8 + 12 = 20\)

\(f_4 = f_3 + 4 \cdot 5 = 20 + 20 = 40\)

Scoring

  • \(40\%\) số điểm có \(n \leq 10^3\).
  • \(40\%\) số điểm có \(n \leq 10^6\).
  • \(20\%\) số điểm còn lại không có ràng buộc gì thêm.