# THTB Thanh Khê, Đà Nẵng 2023
## B1: QTPN
Các bugs:
- $n > a$ và $n \ge a$
- **Giả sử giá $m$** không chia hết cho $4$
- $t - 25\% \times t$ làm tròn
- sẽ khác
- $75\% \times t$ làm tròn
$t = 202$ đồng
Giảm giá = $50.5$
Giá = $202 - 50.5 = 151.5$. Đáp án = $151$

## B3: Mật khẩu
Bugs:
- (ducbao_) `input.strip()`
- `cin >> s` (không đọc khoảng trắng). Phải dùng `getline(cin, s)`
- (si4546w - Anh Đức) `sys.stdin.readline()` --> Đọc luôn kí tự xuống dòng `\n` nên là độ dài tăng 1 so với thực tế :cry:
Thuật toán:
- Duyệt qua từng ký tự của xâu
- Kiểm tra chữ số bằng hàm `isdigit()`
- Nếu là chữ
## B2:
### Bug Zahy
`List index out of range`
Segmentation Fault - Undefined Behavior - ... - WA - RTE - ...
Khi chỉ số `a[i]` vào mảng không hợp lệ.
Khai báo:
- Array / List có kích thước $n$ phần tử
- `a = [0] * n` (Python)
- `int a[N];` (C++)
- Lúc này các chỉ số được phép truy cập vào: $0,1,2,3,\dots, n-1$
- Nếu gọi `a[i]` mà $i \ge n$ --> LỖI (ngay tại $i = n$ cũng lỗi)
- Trong C++: Nếu $i < 0$ --> LỖI
- Trong Python: cho phép một vài chỉ số âm. Tuy nhiên: nếu $i < -n$ --> LỖI.
### Thuật toán
0. Tổng = 0, Vế trái là một String. VT = "2"
1. Lặp `for` i từ 3 tới n:
2. Nếu i là SNT:
- `VT = VT + "+" + to_string(i)` (C++) , Python thì `str(i)`
- Tổng = Tổng + i
- Kiểm tra vế phải: Nếu Tổng là SNT thì
1. Tạo ra biểu thức hoàn chỉnh `TP = VT + "=" + to_string(Tổng)`
2. Danh sách đáp án: Thêm vào biểu thức hoàn chỉnh
6. End For tại bước 1. Với mỗi biểu thức trong danh sách: In ra.
### Kiểm tra SNT
**Chạy for căn vẫn đủ nhanh**
- https://en.wikipedia.org/wiki/Prime_number_theorem
- Có tầm 100 SNT nhỏ hơn 1000.
**Sàng nguyên tố**
Tổng maximum là $1 + 2 + 3 + .. + 1000 < 1000^2$
$1+2+3+\dots+n = n(n+1)/2$
## B4:
### Lý thuyết
- String Matching: Hash KMP Z
- String Processing
VNOI Wiki: https://wiki.vnoi.info/vi/algo/string/kmp
CSES CP Handbook
### Áp dụng
$n = 7$.
Thêm vào $k$ kí tự
$k = 3$
`abcdeed___`
Xâu $s$ có dạng: Phần cuối là xâu đối xứng
Chạy for độ dài của phần đối xứng cuối cùng và check.
### Quảng cáo:
https://www.youtube.com/watch?v=z-S7YbA7bUc
### Cày trâu
MYLOVE - N.V.Linh
