# 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$ ![image](https://hackmd.io/_uploads/By46fwFTJg.png) ## 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 ![image](https://hackmd.io/_uploads/B1bC7dKT1l.png)