Dữ liệu vào: Gồm M+1 dòng: Dòng thứ nhất: Hai số nguyên dương M, N M hàng tiếp theo, mỗi hàng chứa N số nguyên Dữ liệu ra: Một chữ số duy nhất là số lượng phần tử yên ngựa có trong b[r]
Trang 1PHÒNG GIÁO DỤC LẬP THẠCH
-ĐỀ THI KHẢO SÁT HSG NĂM HỌC 2017 - 2018
ĐỀ THI MÔN: TIN HỌC Thời gian làm bài: 150 phút, không kể thời gian giao đề.
(Đề thi có 02 trang, gồm 03 bài)
-TỔNG QUAN BÀI THI
trình
File dữ liệu vào
File dữ liệu ra Bài
1
Phần tử yên ngựa
Bài
Bài
Hãy lập trình giải các bài toán sau:
Bài 1: PHẦN TỬ YÊN NGỰA (3.0 điểm)
Cho bảng số nguyên gồm M hàng, N cột Một phần tử trong bảng số được gọi là phần
tử yên ngựa nếu phần tử đó đồng thời là phần tử nhỏ nhất hàng và lớn nhất cột hoặc đồng thời
là phần tử lớn nhất hàng và nhỏ nhất cột
Yêu cầu: Cho một bảng gồm M hàng, N cột các số nguyên, cho biết trong bảng có bao nhiêu
phần tử yên ngựa
Dữ liệu vào: Gồm M+1 dòng:
Dòng thứ nhất: Hai số nguyên dương M, N
M hàng tiếp theo, mỗi hàng chứa N số nguyên
Dữ liệu ra: Một chữ số duy nhất là số lượng phần tử yên ngựa có trong bảng.
Ví dụ:
Input Output
3 5
3 5 6 7 8
0 3 6 2 6
1 2 3 4 5
2
Bài 2: SẮP XẾP XÂU (4.0 điểm)
Cho một xâu kí tự S gồm các kí tự chữ cái và chữ số Một “số” trong S là dãy liên tiếp các kí tự chữ số được giới hạn hai đầu bởi các kí tự chữ cái hoặc đầu xâu hay cuối xâu Mỗi
“số” có độ dài không quá 255 kí tự chữ số
Ví dụ: Với xâu S là:
baygiola07gio30phutngay29thang10nam2017
Ta có các số là: 7; 30; 29; 10; 2017
Những chữ số 0 ở đầu các “số” trong xâu sẽ tự động cắt bỏ khi sắp xếp Ví dụ 07 chỉ tính
là 7; 007 cũng chỉ tính là 7
Hãy sắp xếp lại các số trong xâu S thành dãy không giảm, giữ nguyên trật tự của các kí
tự chữ cái
Dữ liệu vào: Gồm một dòng duy nhất là xâu S có độ dài không quá 20000 ký tự.
Dữ liệu ra: Gồm một dòng duy nhất là xâu S sau khi đã sắp xếp.
Trang 2Ví dụ:
baygiola07gio30phutngay29thang10nam2017 baygiola7gio10phutngay29thang30nam201
7
Bài 3: SỐ NASTY (3.0 điểm)
Một số nguyên dương được gọi là “Nasty” nếu nó có ít nhất hai cặp thừa số nguyên
dương khác nhau là ước của số đó mà sự chênh lệch giữa các thừa số của một cặp bằng tổng của các thừa số của cặp còn lại
Ví dụ:
6 là số Nasty vì: 6x1 = 6; 2x3 = 6 và 6-1 = 2+3
24 là số Nasty vì: 12x2 = 24; 6x4 = 24 và 12-2 = 6+4
Yêu cầu: Viết chương trình nhận một danh sách gồm N số nguyên dương và xác định mỗi số
trong danh sách đó là Nasty hay không phải Nasty
Dữ liệu vào: Gồm N+1 dòng
Dòng đầu tiên ghi số nguyên dương N
N dòng tiếp theo, mỗi dòng ghi một số nguyên dương
Dữ liệu ra: Gồm N dòng, dòng thứ i ghi số 1 nếu số thứ i là Nasty và số 0 nếu số thứ i không
phải là Nasty
Giới hạn: 1 < N < 1000.
Ví dụ:
3 9 6 24
0 1 1
Hết
-Thí sinh không được sử dụng tài liệu Cán bộ coi thi không được giải thích gì thêm.