De KT12 - Lam Nhom o Nha PDF

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

TRƯỜNG THPT CHUYÊN TỈNH THÁI NGUYÊN

ĐỀ KIỂM TRA SỐ 12 – HỆ SỐ 2 – LỚP TIN 10 K31


Thời hạn nộp bài: 21h00 ngày 20/12/2019
(Bài tập nhóm về nhà)
TỔNG QUAN VỀ ĐỀ BÀI
STT Tên tệp bài làm Dữ liệu Kết quả Thời gian Bộ nhớ Điểm
1 Tongso.cpp Tongso.inp Tongso.out 1 giây 1 GB/test 1
2 TDoan.cpp TDoan.inp TDoan.out 1 giây 1 GB/test 1
3 Hprimes.cpp Hprimes.inp Hprimes.out 1 giây 1 GB/test 1
4 Unique.cpp Unique.inp Unique.out 1 giây 1 GB/test 1,5
5 Cnmax01.cpp Cnmax01.inp Cnmax01.out 1 giây 1 GB/test 2
6 Maze.cpp Maze.inp Maze.out 1 giây 1 GB/test 2
Với mỗi bài trình bày ý chi tiết ý tưởng thuật toán. Điểm trình bày ý tưởng thuật toán của mỗi
bài là 0,25 điểm.
Nộp bài theo nhóm gồm 6 tệp chương trình và 1 tệp MS Word trình bày ý tưởng thuật toán.
Trong tệp ý tưởng thuật toán cần ghi rõ danh sách nhóm.
Lập trình giải các bài toán sau:
01. TỔNG CÁC CHỮ SỐ (TONGSO.CPP)
Viết chương trình nhập vào một dãy N số nguyên a1, a2, … , aN. Thực hiện tìm trong dãy số có
tổng các chữ số lớn nhất.
Dữ liệu: cho từ tệp văn bản TONGSO.INP như sau:
- Dòng 1: chứa số N (N ≤ 106)
- Dòng 2: chứa dãy số nguyên a1, a2, … , aN (|ai| ≤ 109). Các số cách nhau một dấu cách
(kí tự trắng)
Kết quả: ghi ra tệp văn bản TONGSO.OUT như sau:
Chứa một số duy nhất là số có tổng các chữ số lớn nhất
Ví dụ:
TONGSO.INP TONGSO.OUT
5 99
22 4 11 99 31

02. TỔNG ĐOẠN (TDOAN.CPP)


Một dãy con gồm các phần tử liên tiếp nhau trong một dãy cho trước được gọi là đoạn. Cho dãy
gồm N số tự nhiên. Tìm đoạn ngắn nhất có tổng các phần tử bằng giá trị K cho trước.
Dữ liệu: tệp văn bản TDOAN.INP
 Dòng thứ nhất: hai số tự nhiên N và K, 1  N  2000, 1  K  4000
 Từ dòng thứ hai trở đi: các phần tử của dãy.
Kết quả: tệp văn bản TDOAN.OUT
 Chứa một dòng duy nhất gồm hai số tự nhiên d – chỉ số đầu đoạn và L – số phần tử
trong đoạn (chiều dài đoạn). Nếu có nhiều đoạn có tổng bằng K thì in ra đoạn có chỉ
số đầu đoạn nhỏ nhất. Nếu vô nghiệm thì ghi 0 0.
Trong các tệp, dữ liệu trên cùng dòng cách nhau qua dấu cách.
TDOAN.INP TDOAN.OUT
21 17 16 3
0 2 3 2 10 1 5 5 6 12 20 30 14 8 0
11 0 6 0 0 5

03. ĐỘ CAO SỐ NGUYÊN TỐ (HPRIMES.CPP)


Độ cao của một số tự nhiên là tổng các chữ số của số đó. Với mỗi cặp số tự nhiên n và h cho trước
hãy liệt kê các số nguyên tố không vượt quá n và có độ cao h, 10  n  1000000; 1  h  54.
Dữ liêu: tệp văn bản hprimes.inp chứa 2 số nguyên dương n và h trên một dòng
Kết quả: tệp văn bản hprimes.out, in mõ i dò ng mọ t só theo thứ tự tăng dà n, dòng cuối cùng
ghi số lượng tìm được.
hprimes.inp hprimes.out
1000 16 79
97
277
349
367
439
457
547
619
673
691
709
727
853
907
15
Ví dụ: n = 1000, h = 16. Kết quả 15 số nguyên tố độ cao 16: 79, 97, 277, 349, 367, 439, 457,
547, 619, 673, 691, 709, 727, 853, 907.

04. SỐ DUY NHẤT (UNIQUE.CPP)


Cho trước một dãy các số nguyên. Trong dãy này có duy nhất một số xuất hiện đúng một lần, các
số còn lại đều xuất hiện đúng k lần. Số k không cho trước, nhưng biết rằng đó là một số chẵn khác
0. Hãy tìm số duy nhất đó.
Dữ liệu ; Tệp văn bản UNIQUE.INP chứa dãy số, mỗi số chiếm một dòng dài không quá 20 chữ số.
Kết quả: tệp văn bản UNIQUE.OUT

UNIQUE.INP UNIQUE.OUT
1357 10203040
2008
80
1357
2008
80
2008
1357
10203040
80
2008
80
1357

Giải thích: Số duy nhất cần tìm là 10203040. Các số còn lại đều xuất hiện 4 lần.

05. HÌNH CHỮ NHẬT TỐI ĐẠI (CNMAX01.CPP)


Cho một ma trận biểu diễn bằng một mảng hai chiều kích thước N  M ô và chỉ chứa các kí tự 0
và 1. Tìm hình chữ nhật chứa toàn kí tự 1 và có diện tích lớn nhất (gọi là hình chữ nhật tối đại).
Dữ liệu: Tệp văn bản CNMAX01.INP:
- Dòng đầu tiên: số tự nhiên M (3  M  70)
- Tiếp đến là các dòng dài bằng nhau thể hiện một xâu gồm M kí tự là các chữ cái 0/1
viết liền nhau.
- Số dòng của tệp input có thể lên tới 60 nghìn.
Kết quả: tệp văn bản CNMAX01.OUT:
- Dòng đầu tiên: Diện tích của hình chữ nhật tối đại ABCD chứa toàn kí tự 1 tìm được.
- Dòng thứ hai: Toạ độ dòng và cột của đỉnh A.
- Dòng thứ ba: Toạ độ dòng và cột của đỉnh C.
        
 1 0 0 0 0 0 0 0 0
 1 1 1 1 1 1 1 1 0
 0 0 1 1 1 1 1 0 0
 0 0 1 1 1 1 1 0 0
 0 0 0 0 0 0 0 0 0
Thí dụ, với ma trận 5  9 chứa dữ liệu như hình 4 thì hình chữ nhật tối đại, tạm gọi là ABCD,
có diện tích là 15 ô và có toạ độ điểm A là (dòng 2, cột 3) và điểm C là (dòng 4, cột 7) như trong
hình 4.

CNMAX01.INP CNMAX01.OUT
9 15
100000000 23
111111110 47
001111100
001111100
000000000

06. Tìm đường trong mê cung (Maze.*)


Cho mê cung là một bảng hai chiều M×N (M dòng đánh số từ 0 đến M-1, N cột đánh số từ 0 đến
N-1) gồm M×N ô vuông. Mỗi ô vuông chứa một số là 0 (mầu trắng) hoặc 1 (mầu đen) đều coi là
một phòng. Phòng có số 1 là đóng kín các cửa không thể qua, phòng có số 0 là phòng có thể đi
qua. Mê cung có cửa vào là ô (0; 0) ở góc trên-trái và cửa ra là ô
(M-1; N-1) ở góc phải-dưới. Hãy tìm đường đi từ cửa vào (gọi là
nguồn) tới cửa ra (gọi là đích) biết rằng chỉ được đi sang phải hoặc
xuống dưới.
Input. Tệp Maze.inP: dòng đầu là hai số nguyên dương M và N. M
dòng sau, mỗi dòng N số 0 hoặc 1 (M, N <=100).
Output. Tệp Maze.out: Nếu có đường đi thì hiện mê cung với
đường đi từ nguồn tới đích bằng các số 1 trong các ô thuộc đường
đi (các ô khác hiện số 0). Nếu không có đường đi thì ghi -1
Ví dụ.
MAZE.INP MAZE.OUT
44 1000
0111 1100
0010 0100
1011 0111
0000

-------------------- HẾT -------------------

You might also like