Để chơi một bản nhạc, người ta thổi vào đầu và dùng ngón tay bịt một số lỗ này hay khác trên sáo thì sẽ được các nốt nhạc khác nhau.. Yêu cầu: Hãy đếm số lần mỗi ngón tay phải bấm phím k
Trang 1Đề Thi Lập Trình Bảng B: Trung Học Cơ Sở.
Thời Gian Làm Bài: 120 Phút.
ĐỀ CHÍNH THỨC
TỔNG QUAN VỀ ĐỀ THI
Hạn chế thời gian cho
Chú ý:
Dấu ??? trong tên file bài làm phải được thay thế bởi đuôi ngầm định của ngôn ngữ lập trình mà em lựa chọn thực hiện.
Đề thi gồm ba trang Giám thị không cần giải thích gì thêm Thí sinh không sử dụng tài liệu trong khi thi.
Trang 2Bài 1 Sáo trúc.
Tên file chương trình: FLUTE.???
Sáo là một nhạc cụ dân tộc phổ biến do tính đơn giản của nó: gọn nhẹ, rẻ tiền,
dễ sử dụng Tuy vậy để chơi hay thì hoàn toàn không đơn giản và phải cần có các bài tập cơ sở tạo kỹ năng sử dụng Có nhiều loại sao, một trong những loại
đó là sáo có một đầu để thổi hơi Để chơi một bản nhạc, người ta thổi vào đầu
và dùng ngón tay bịt một số lỗ này hay khác trên sáo thì sẽ được các nốt nhạc khác nhau Bảy nốt nhạc: Đồ , Rê, Mi, Pha, Son, La, Si, thấp được kí hiệu c d e f
g a b và bảy nốt cao la C D E F G A B Các ngón tay được đánh số từ 1 đến 10
Để bấm các nốt người ta phải sử dụng các ngón tay như sau:
c: các ngón 2, 3, 4, 7, 8, 9, 10
d: các ngón 2, 3, 4, 7, 8, 9
e: các ngón 2, 3, 4, 7, 8
f: các ngón 2, 3, 4, 7
g: các ngón 2, 3, 4
a: các ngón 2, 3
b: ngón 2
C: ngón 3
D: các ngón 1, 2, 3, 4, 7, 8, 9
E: các ngón 1, 2, 3, 4, 7, 8
F: các ngón 1, 2, 3, 4, 7
G: các ngón 1, 2, 3, 4
A: các ngón 1, 2, 3
B: các ngón 1, 2
Yêu cầu: Hãy đếm số lần mỗi ngón tay phải bấm phím khi chơi một bản nhạc
Một lần bấm được tính khi ngón tay được sử dụng cho một nốt nhạc nào đó đến khi gặp nốt nhạc không sử dụng ngón tay đó hoặc kết thúc bản nhạc
Dữ liệu: Vào từ file FLUTE.INP gồm nhiều dòng, mỗi dòng một xâu không quá
255 ký tự, xác định một bản nhạc
Kết quả: Đưa ra file văn bản FLUTE.OUT mỗi bản nhạc tương ứng với một
dòng gồm 10 số nguyên, số nguyên thứ I cho biết số lần bấm của ngón i
Ví dụ:
Cdefgab BAGFEDC 0 1 1 1 0 0 1 1 1 11 1 1 1 0 0 1 1 1 0
Trang 3Bài 2 Mã cá nhân.
Tên file chương trình: ID.???
Để quản lý các vận động viên và khách mời cho SEAGAMES 2002 sắp tới, Ban
Tổ Chức cần đánh mã số cho từng vận động viên cũng như các khách mời Để gợi nhớ mã số cho từng người, Ban Tổ Chức quyết định đánh mã số theo nước
đi con mã của cờ vua trên các phím bấm chữ số của điện thoại di động (Hình 1)
Hình 1 Hình 2
Con mã di chuyển một bước trên các nước này như sau:
Từ ô số 1 có thể di chuyển đến các ô có 6 hoặc 8 và ngược lại
Từ ô số 2 có thể di chuyển đến các ô có 7 hoặc 9 và ngược lại
Từ ô số 3 có thể di chuyển đến các ô có 4 hoặc 8 và ngược lại
Từ ô số 4 có thể di chuyển đến các ô có 3, 9 hoặc 0 và ngược lại
Từ ô số 6 có thể di chuyển đến các ô có 1, 7 hoặc 0 và ngược lại
Mã số của một người là một số có N chữ số, không bắt đầu bằng 0 và hai chữ
số đứng kề nhau tương ứng với 2 ô mà thì con mã có thể di chuyển từ ô này sang ô kia bằng một bước Ví dụ với N=4 thì số 1672 là không hợp lệ (Hình 2), còn số 1860 là một mã hợp lệ bởi vì từ ô 8 con mã không di chuyển tới ô 6 bằng
1 bước Để thuận lợi cho việc quản lý Ban tổ chức muốn mã số không quá dài,
vì vậy ban tổ chức cần biết với độ dài của mã N cho trước thì có thể mã số tối đa được cho bao nhiêu người
Yêu cầu: Với N cho trước, hãy tìm số lượng lớn nhất S các mã số có thể có gồm
N chữ số (1<N≤24)
Dữ liệu: Vào từ file văn bản ID.INP trong đó chứa một số duy nhất N.
Kết quả: Đưa ra file văn bản ID.OUT trong đó ghi ra số S tìm được.
Ví dụ:
0
ID.INP ID.OUT