Tuyển sinh 10 chuyên Tin Đại học Vinh 2025
Nguồn: ClueOJ statement pages printed to PDF and merged in exam order; not an original scan
Chuyển nhập/xuất tệp sang stdin/stdout khi chạy trên website.
Câu 1. Tam giác vuông
Ba số nguyên dương a, b, c (a ≤ b < c) là các cạnh của một tam giác vuông nếu thỏa mãn a2 + b2 = c2.
Yêu cầu: Cho trước một số nguyên dương N, viết chương trình đếm số tam giác vuông tạo bởi ba số nguyên dương a, b, c với điều kiện 1 ≤ a ≤ b < c ≤ N
INPUT
Một dòng gồm một số nguyên dương N với 1 < N ≤ 104
OUTPUT
In ra số lượng số tam giác vuông tìm được
SAMPLE INPUT 1
10SAMPLE OUTPUT 1
2Giải thích: Có 2 tam giác vuông được tạo bởi bộ 3 số là:
- a = 3, b = 4, c = 5
- a = 6, b = 8, c = 10
SAMPLE INPUT 2
15SAMPLE OUTPUT 2
4Giải thích: Có 2 tam giác vuông được tạo bởi bộ 3 số là:
- a = 3, b = 4, c = 5
- a = 6, b = 8, c = 10
- a = 5, b = 12, c = 13
- a = 9, b = 12, c = 15
SUBTASKS
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | 50% | 1 < N ≤ 103 |
| 2 | 34% | 103 < N ≤ 5 × 103 |
| 3 | 16% | Không có ràng buộc gì thêm. |
---
Ghi chú về bản chuyển thể
Nhập từ stdin và in ra stdout, không cần tạo tệp .INP/.OUT.
Trạng thái lời giải: C++ đã qua bộ kiểm thử cục bộ; chưa xác nhận AC trên OJ.
Câu 2. Xâu tương tự
Để phát hiện mức độ trùng lặp giữa các văn bản, người ta thường kiểm tra mức độ tương tự của các đoạn văn bản được biểu diễn theo dạng các xâu ký tự. Cho hai xâu ký tự st1 và st2 có thể chứa các chữ cái thường (a, b, ..., z), các chữ cái hoa (A, B, ..., Z) và dấu cách trắng. Để tính mức độ tương tự của hai xâu st1 và st2 , ta chuyển các xâu về dạng chữ cái thường hoặc chữ cái hoa sau đó tính độ tương tự theo công thức k = xy, trong đó:
- x: số lượng chữ cái khác nhau có xuất hiện đồng thời trong cả 2 xâu st1 và st2 nhưng không tính dấu cách.
- y: số lượng chữ cái khác nhau có xuất hiện ở một trong hai xâu st1 và st2 nhưng không tính dấu cách.
Yêu cầu: Viết chương trình tính độ tương tự k của hai xâu st1 và st2 .
INPUT
Gồm hai dòng, mỗi dòng chứa một xâu không quá 20000 ký tự.
OUTPUT
In ra một dòng chứa phần nguyên của giá trị 100 × k.
SAMPLE INPUT 1
The eyes
They seeSAMPLE OUTPUT 1
100Giải thích:
- Chữ cái khác nhau có xuất hiện đồng thời cả hai xâu st1 và st2 là t , h , e , y , s , vì vậy x = 5.
- Chữ cái khác nhau có xuất hiện ở một trong hai xâu st1 và st2 là t , h , e , y , s , vì vậy y = 5.
- Độ tương tự của 2 xâu là k = xy = 55 = 1, vì vậy phần nguyên của giá trị 100 × k = 100.
SAMPLE INPUT 2
Form
FormalSAMPLE OUTPUT 2
66Giải thích:
- Chữ cái khác nhau có xuất hiện đồng thời cả hai xâu st1 và st2 là f , o , r , m , vì vậy x = 4.
- Chữ cái khác nhau có xuất hiện ở một trong hai xâu st1 và st2 là f , o , r , m , a , l , vì vậy y = 6.
- Độ tương tự của 2 xâu là k = xy = 46 = 0.6666, vì vậy phần nguyên của giá trị 100 × k = 66.
SUBTASKS
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | 50% | Chiều dài các xâu bé hơn 1000 ký tự |
| 2 | 30% | Chiều dài các xâu từ 1000 đến 10000 ký tự |
| 3 | 20% | Chiều dài các xâu từ 10001 đến 20000 ký tự |
---
Ghi chú về bản chuyển thể
Nhập từ stdin và in ra stdout, không cần tạo tệp .INP/.OUT.
Trạng thái lời giải: Lời giải phụ thuộc cách hiểu đề; cần đối chiếu nguồn.
Câu 3. Quà cứu trợ
Trong một vùng bị thiên tai, có n gia đình khó khăn cần được hỗ trợ. Mỗi gia đình có một mức nhu cầu hỗ trợ riêng được biểu diễn bằng một số nguyên dương ai (i = 1, 2, ..., n). Một tổ chức cứu trợ chuẩn bị m gói quà với giá trị của mỗi gói quà được biểu diễn bằng một số nguyên dương bj (j = 1, 2, ..., m) để hỗ trợ các gia đình khó khăn. Tổ chức cứu trợ sẽ phát các gói quà theo nguyên tắc: nếu mỗi gia đình có nhu cầu mong muốn là ai thì gia đình đó sẽ nhận được chỉ một gói quà có giá trị thuộc đoạn [ai - k; ai + k] với k là một số nguyên không âm.
Yêu cầu: Viết chương trình giúp tổ chức cứu trợ phân chia các gói quà để phát được cho nhiều gia đình nhất.
INPUT
Dòng 1 gồm 3 số nguyên dương n, m, k (1 ≤ n ≤ 2 × 105; 1 ≤ m ≤ n; 0 ≤ k ≤ 105), mỗi số cách nhau ít nhất một dấu cách.
Dòng 2 gồm n số nguyên dương ai (105 ≤ ai ≤ 108; 1 ≤ i ≤ n), mỗi số cách nhau ít nhất một dấu cách.
Dòng 3 gồm m số nguyên dương bj (105 ≤ bj ≤ 108; 1 ≤ j ≤ m), mỗi số cách nhau ít nhất một dấu cách.
OUTPUT
Gồm một dòng chứa số lượng gia đình nhiều nhất nhận được các gói quà.
SAMPLE INPUT 1
4 3 5
60 45 80 90
30 60 75SAMPLE OUTPUT 1
2Giải thích: Vì k = 5 nên có 2 gia đình nhận được gói quà phù hợp với nguyên tắc chia quà, cụ thể:
- 01 gia đình có nhu cầu cần hỗ trợ 60, giá trị gói quà 60
- 01 gia đình có nhu cầu cần hỗ trợ 80, giá trị gói quà 75
SAMPLE INPUT 2
5 2 3
21 15 35 10 40
32 16SAMPLE OUTPUT 2
2Giải thích: Vì k = 3 nên có 2 gia đình nhận được gói quà phù hợp với nguyên tắc chia quà, cụ thể:
- 01 gia đình có nhu cầu cần hỗ trợ 35, giá trị gói quà 32
- 01 gia đình có nhu cầu cần hỗ trợ 15, giá trị gói quà 16
SUBTASKS
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | 50% | 1 ≤ n ≤ 104; 1 ≤ m ≤ n |
| 2 | 30% | 104 < n ≤ 105; 104 < m ≤ n |
| 3 | 20% | 105 < n ≤ 2 × 105; 105 < m ≤ n |
---
Ghi chú về bản chuyển thể
Nhập từ stdin và in ra stdout, không cần tạo tệp .INP/.OUT.
Trạng thái lời giải: C++ đã qua bộ kiểm thử cục bộ; chưa xác nhận AC trên OJ.
Câu 4. Vùng sáng ảnh
Khi ảnh được chụp vào ban đêm, phần lớn bức ảnh sẽ tối và có thể có một số vùng sáng nhỏ được tạo ra bởi các đối tượng phát sáng. Để tìm các vùng sáng nhỏ, người ta thường chuyển ảnh cần xử lý thành một loại ảnh gọi là ảnh đa mức xám.
Ảnh đa mức xám được biểu diễn bằng một bảng gồm n hàng và m cột, trong đó các hàng được đánh số từ 1 đến n, từ trên xuống dưới và các cột được đánh số từ 1 đến m, từ trái qua phải. Mỗi ô (i, j) trong bảng chứa một số nguyên thuộc đoạn [0; 255] để biểu diễn mức độ sáng của một điểm ảnh tại hàng i và cột j (1 ≤ i ≤ n; 1 ≤ j ≤ m). Giá trị tại ô (i, j) càng lớn thì mức sáng của điểm ảnh càng cao (0: đen; 255: trắng). Một điểm ảnh ở ô (i, j) được gọi là điểm sáng nổi bật nếu nó là điểm trung tâm và có giá trị mức sáng lớn nhất trong một bảng con hình vuông có chiều dài cạnh là 2k + 1, bảng này là một vùng sáng ảnh . Một vùng sáng nổi bật nhất trong ảnh là một vùng sáng ảnh có tổng giá trị mức sáng của các điểm ảnh lớn nhất so với các vùng sáng khác.
Yêu cầu: Viết chương trình tìm một vùng sáng nổi bật nhất trong ảnh.
INPUT
Dòng 1 gồm 3 số nguyên dương n, m, k (102 ≤ n, m ≤ 5 × 103; 1 ≤ k ≤ 20), mỗi số cách nhau ít nhất một dấu cách;
Dòng thứ i (i = 1, 2, ..., n) trong n dòng tiếp theo, mỗi dòng ghi m số nguyên thuộc đoạn [0; 255], mỗi số cách nhau ít nhất một dấu cách.
OUTPUT
Một dòng chứa tổng giá trị mức sáng của các điểm ảnh trong vùng sáng nổi bật nhất, nếu không có vùng sáng nổi bật thì ghi số 0.
SAMPLE INPUT 1
4 5 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1SAMPLE OUTPUT 1
0Giải thích: Với k = 1, ảnh không có vùng sáng nổi bật nhất.
SAMPLE INPUT 2
5 5 1
1 2 1 3 1
1 1 9 1 1
1 2 3 6 4
1 1 5 7 5
2 3 4 6 5SAMPLE OUTPUT 2
45Giải thích:
- Với k = 1, ảnh có 2 điểm sáng nổi bật ở các ô (2,3) và (4,4).
- Vùng sáng nổi bật nhất có tổng giá trị mức sáng các điểm ảnh là 45.
SUBTASKS
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | 50% | 102 < n, m ≤ 103 và 1 ≤ k ≤ 5 |
| 2 | 25% | 103 < n, m ≤ 3 × 103 và 5 < k ≤ 10 |
| 3 | 25% | 3 × 103 < n, m ≤ 5 × 103 và 10 < k ≤ 20 |
---
Ghi chú về bản chuyển thể
Nhập từ stdin và in ra stdout, không cần tạo tệp .INP/.OUT.
Trạng thái lời giải: C++ đã qua bộ kiểm thử cục bộ; chưa xác nhận AC trên OJ.
