Thông Báo:

Mọi thắc mắc xin liên hệ facebook: Bá Sơn
fb.com/sonden2000
Posted by : Unknown Wednesday, March 15, 2017

HỘI CÁC TRƯỜNG THPT CHUYÊN
KHU VỰC DH & ĐB BẮC BỘ

ĐỀ CHÍNH THỨC
 
KÌ THI CHỌN HỌC SINH GIỎI KHU VỰC MỞ RỘNG
NĂM HỌC 2011- 2012
MÔN THI: TIN HỌC  LỚP 10
Ngày thi: 21 tháng 4 năm 2012
(Thời gian làm bài 180 phút không kể thời gian giao đề)
Đề thi gồm  2 trang
TỔNG QUAN VỀ BÀI THI
Tên bài
Tệp chương trình
Tệp dữ liệu vào
Tệp dữ liệu ra
Điểm
Tìm số
TIMK.*
TIMK.INP
TIMK.OUT
6
Vận tải
TRAIN.*
TRAIN.INP
TRAIN.OUT
7
SUCULA
SUCULA.*
SUCULA.INP
SUCULA.OUT
7
Phần mở rộng của tệp chương trình được đặt tùy theo ngôn ngữ lập trình được sử dụng

Bài 1: (6 điểm)  Tìm số
Cho hai số nguyên dương N và M (2 ≤ N, M ≤ 109). Hãy tìm số nguyên dương K lớn nhất sao cho N! chia hết cho MK.
Dữ liệu vào: Từ tệp văn bản TIMK.INP, gồm một dòng duy nhất chứa 2 số nguyên dương N, M.
Kết quả: Đưa ra tệp văn bản TIMK.OUT, ghi số nguyên K tìm được.

Ví dụ:

TIMK.INP

TIMK.OUT


6  6

2
Bài 2: (7 điểm) Vận tải

Ruratania mới bước vào kinh tế thị trường và đang thiết lập những hoạt động kinh doanh mới trong nhiều lĩnh vực, trong đó có giao thông vận tải. Công ty giao thông vận tải TransRuratania đang bắt đầu thành lập một chuyến tàu tốc hành từ thành phố A đến thành phố B với một vài chỗ dừng tại các ga trên tuyến đường. Các ga được đánh số liên tiếp, ga của thành phố A được đánh số 0, ga của thành phố B đánh số m.
Công ty làm một thí nghiệm để nâng cao khả năng vận chuyển hành khách và từ đó nâng cao thu nhập. Chuyến tàu có thể chứa tối đa là n hành khách. Giá của một vé tàu là bằng số các ga giữa ga xuất phát và ga đến, không tính ga xuất phát (bằng số hiệu ga đến – số hiệu ga xuất phát). Trước khi chuyến tàu bắt đầu hành trình của nó từ thành phố A, các đơn đặt vé từ tất cả các ga trên đường đi được thu lại. Một đơn đặt vé từ ga S bao gồm tất cả các vé đặt trước từ S tới một ga đến xác định trước. Trong trường hợp công ty không thể tiếp nhận tất cả các đơn đặt vé bởi vì khả năng chở khách là giới hạn, thì đối với mỗi một đơn đặt vé từ các ga công ty hoặc là tiếp nhận hoàn toàn hoặc là từ chối hoàn toàn.
Yêu cầu: Cho trước một danh sách các đơn đặt vé từ các ga trên tuyến đường từ A đến B, hãy viết một chương trình xác định thu nhập lớn nhất có thể của công ty TransRuratania. Thu nhập từ một đơn đặt vé được tiếp nhận là tích của số hành khách trong đơn đặt vé với giá của vé tàu. Thu nhập của công ty là tổng của các thu nhập từ tất cả các đơn đặt vé được tiếp nhận.
Dữ liệu vào: Từ tệp văn bản TRAIN.INP, chứa thông tin:
+ Dòng 1 chứa ba số nguyên n, m, d (1 ≤ n ≤ 5000; 1 ≤ m ≤ 10; 1 ≤ d ≤ 25) tương ứng là sức chứa hành khách của tàu, số hiệu ga của thành phố B và số các đơn đặt vé từ tất cả các ga.
+Trong d dòng tiếp theo, mỗi dòng mô tả một đơn đặt vé bao gồm ba số nguyên: ga xuất phát, ga đến, số hành khách (0 ga xuất phát, ga đến m; ga xuất phát ≠ ga đến; 1 số hành khách n).
Kết quả: Đưa ra tệp văn bản TRAIN.OUT, chứa một số là thu nhập lớn nhất có thể theo yêu cầu của bài.
Ví dụ:

TRAIN.INP
TRAIN.OUT


10 3 4
0 2 1
1 3 5
1 2 7
2 3 10
19
Bài 3: (7 điểm) SUCULA

Mỗi thanh sô cô la có dạng thanh dài với kích thước 1 x n đơn vị, trên thanh sô cô la người ta xẻ các rãnh chia thanh sô cô la theo kích thước 1 x 1 cho dễ bẻ. Yêu cầu xác định: Có bao nhiêu cách bẻ thanh sô cô la theo các rãnh đã xẻ thành nhiều phần.
Ví dụ: thanh sô cô la chiều dài n = 3, ta có ba cách bẻ: Cách 1: bẻ thành 3 thanh độ dài 1: 1,2,3; Cách 2: bẻ thành 2 thanh, một thanh độ dài 2: 1-2 và một thanh độ dài 1 là 3 (cách bẻ 1, 2-3 coi như đã tính); Cách 3 là giữ nguyên cả thanh.
Dữ liệu vào: Từ tệp văn bản SUCULA.INP, chứa duy nhất số nguyên n là chiều dài thanh sô cô la.
Dữ liệu ra: Đưa ra tệp văn bản SUCULA.OUT, chứa số cách bẻ tìm được.
Ví dụ:
SUCULA.INP
SUCULA.OUT

1
2
3
3
3
Giới hạn:   0 < n < 1001; Có 50% số test n < 31.


...............................HẾT...............................



HỘI CÁC TRƯỜNG THPT CHUYÊN
KHU VỰC DH & ĐB BẮC BỘ

ĐỀ CHÍNH THỨC
 
LOGO
KÌ THI CHỌN HỌC SINH GIỎI KHU VỰC MỞ RỘNG
NĂM HỌC 2011- 2012
MÔN THI: TIN HỌC  LỚP 10


HƯỚNG DẪN CHẤM BÀI THI MÔN TIN HỌC LỚP 10

Chấm các bài bằng test.

Sơ lược giải thuật:

Bài 1: Tìm số
-         Phân tích số m thành các thừa số nguyên tố, ghi nhận số lượng mỗi số.
-         Đối với mỗi thừa số nguyên tố (k) thuộc m, đếm tổng số các số trong phạm vi n mà chia hết cho (k) (duyệt từng số, phân tích, đếm số lượng số chia hết cho k sẽ chậm).

Bài 2: Vận tải
Vì d<=25, nên duyệt tất cả các cách (2d) và kiểm tra (có đặt nhánh cận)

Bài 3: Sucula

F[i,j] số cách chia khi thanh có độ dài i và trong cách chia không có thanh lớn hơn j.
F[i,j] =  F[i,j-1]  + F[i-j,j].
Dùng đến cách cộng số lớn.


Hết

- Copyright © Luyện thi HSG pascal - blog hướng dẫn tin 11 nâng cao - Powered by Blogger - Designed by Bá Sơn -