Bạn đang trong giai đoạn luyện thi học sinh giỏi từ quận đến thành phố? Bộ tài liệu gồm 48 trang chứa hơn 20 bài tập thực hành nâng cao. Chúng sẽ giúp ích cho bạn rất nhiều trong việc giành thứ hạng cao trong các cuộc thi này
Năm 2005 Bảng A Bài Phân đoạn Tên file chương trình: SEGPAR.PAS Cho dãy số nguyên a1, a2, …, an số nguyên dương k Ta gọi k-phân đoạn dãy số cho cách chia dãy số cho thành k đoạn, đoạn dãy gồm phần tử liên tiếp dãy Chính xác hơn, k-phân đoạn xác định dãy số n1 n2 nk n Đoạn thứ i dãy an i 1 1 , an i 1 , , a n , i 1,2, , k Ở quy ước n0 i Yêu cầu: Hãy xác định số M nhỏ để tồn k-phân đoạn cho tổng phần tử đoạn không vượt M Dữ liệu: Vào từ file văn SEGPAR.INP Dòng chứa hai số nguyên n k (1≤ k ≤ n ≤ 15000); Dòng thứ i số n dòng chứa số nguyên (|ai| ≤ 30000), i =1, 2, …, n Các số cạnh dòng file liệu cách dấu cách Kết quả: Ghi file SEGPAR.OUT số nguyên giá trị M tìm Ví dụ: SEGPAR.INP SEGPAR.OUT Bài 2: Pháo hoa Tên chương trình: FIREWK.PAS Nhằm chào mừng ngày lễ lớn năm 2005 người ta chế tạo loại đạn pháo hoa mới, bắn, đạn nổ thành hoa 2n cánh màu ( ≤ n ≤ 30) Nguyên vật liệu cho phép tạo m màu khác nhau, đánh số từ đến m (2 ≤ m ≤ 32) Để đảm bảo tính mỹ thuật, việc chuyển tiếp màu cánh hoa kề phải tuân theo quy tắc chuyển màu cầu vồng sau đây: Bên cạnh cánh hoa màu i phải cánh hoa màu i-1 i+1, với < i < m, Bên cạnh cánh hoa màu cánh hoa màu 2, Bên cạnh cánh hoa màu m cánh hoa màu m-1 Một bơng hoa khơng thiết phải có đầy đủ m màu Mỗi hoa tương ứng với vòng tròn 2n số thể màu cánh hoa Ví dụ, hình bơng hoa 24 cánh (n = 12) hình vòng tròn số tương ứng với Mỗi bơng hoa mơ tả dãy 2n số nguyên liệt kê số màu cánh hoa theo chiều kim đồng hồ Ví dụ, bơng hoa hình mô tả dãy số 2 2 2 4 Dãy có thứ tự từ điển nhỏ dãy dùng để mơ tả hoa gọi mã hoa Khi đó, mã hoa bơng hoa hình 2 2 4 3 Trong ngày lễ, Ban tổ chức yêu cầu bắn đạn pháo hoa 2n cánh có k cánh màu C (0 ≤ k ≤ 2) Các mã hoa thỏa mãn yêu cầu vừa nêu xếp theo thứ tự từ điển đánh số Hơn nữa, nhằm tạo hoa không giống nhau, đội bắn pháo hoa cần đảm bảo hai viên đạn pháo hoa bắn liên tiếp phải có mã khác Do vậy, người ta thiết kế Hệ thống chụp ảnh phân tích tự động để báo cho đội bắn pháo hoa biết số thứ tự viên đạn pháo hoa vừa nổ trời Em giao viết chương trình giải nhiệm vụ phần mềm phân tích tự động Yêu cầu: Cho biết n, m, k C Gọi X tập tất mã hoa 2n cánh có k cánh màu C Hãy xác định số lượng p phần tử X; Cho mã hoa tập X Hãy xác định số thứ tự từ điển X Dữ liệu: Vào từ file văn FIREWK.INP Dòng chứa số nguyên n, m, k, C; dòng chứa 2n số nguyên mô tả mã hoa Các số dòng file liệu cách dấu cách Kết quả: Đưa file văn FIREWK.OUT Dòng ghi số nguyên p; dòng ghi số thứ tự tìm mã hoa Ví dụ: FIREWK.INP FIREWK.OUT Bài Bộ sưu tập Tên chương trình: COLLECT.PAS Một sưu tập tiền xu cổ coi có giá trị phải gồm khơng Z0 đồng tiền vàng, S0 đồng tiền bạc M đồng tiền đồng Bộ sưu tập ban đầu Alibaba có số lượng định đồng tiền vàng, bạc đồng chưa phải sưu tập có giá trị Tại Trụ sở Hiệp hội người sưu tầm tiền cổ có đặt máy đổi tiền để giúp hội viên đổi sưu tập có giá trị Tuy nhiên, máy đổi hỗ trợ việc đổi tiền trọn gói theo quy tắc đổi gói ( Z1 , S1 , M ) lấy gói ( Z , S , M ) đồng tiền Các quy tắc đổi tiền khác đôi một, gán số hiệu 1,2,3, công bố trước Hội viên tạo gói tiền thích hợp từ sưu tập để thực việc đổi tiền Các đồng tiền nhận sau lần đổi gộp lại với đồng tiền mà hội viên có để thành sưu tập sử dụng để đổi lần sau cần Số lần đổi không hạn chế, nhiên, người thực dụng, Alibaba cố gắng giảm tới mức tối đa số lần đổi tiền Mặt khác, để ngăn chặn việc đầu cơ, Hiệp hội quy định, thời điểm, hội viên không giữ đồng tiền loại không phép đổi tiếp đổi sưu tập có giá trị Yêu cầu: Cho biết số lượng Z , S, M đồng tiền vàng, bạc, đồng mà Alibaba có ban đầu quy tắc đổi tiền Hãy tất sưu tập tiền cổ có giá trị mà Alibaba có sau số lần đổi không vượt k cho trước Dữ liệu: Vào từ file văn COLLECT.INP Dòng đầu ghi số nguyên dương k (k 1000) ; dòng thứ ghi số ngun khơng âm Z , S, M , Z , S0 , M (0 Z , S, M , Z , S0 , M 4) ; Các dòng dòng ghi số nguyên không âm Z1 , S1 , M1 , Z , S2 , M xác định quy tắc đổi tiền ( Z1 , Z , S1 , S , M , M ) Kết quả: Đưa file văn COLLECT.OUT Nếu khơng tồn cách đổi để có sưu tập có giá trị, file kết gồm số -1 Trong trường hợp ngược lại, dòng đầu ghi số v số tiền cổ có giá trị mà Alibaba đổi Dòng thứ i v dòng ghi số nguyên Z i , Si , M i , ki mơ tả sưu tập có giá trị thứ i số lần đổi k i khơng vượt k cần thực để có sưu tập Các số dòng file liệu file kết đặt cách dấu cách Ví dụ: COLLECT.INP COLLECT.OUT 3 Bài Khn thép Tên chương trình: STEEL.PAS Để chuNn bị cho Lễ hội kỷ niệm 30 năm ngày Chiến dịch Hồ Chí Minh tồn thắng, giải phóng miền Nam, thống đất nước, người ta cần gia cơng loại khn thép có hình dạng hình đa giác lồi M đỉnh Mỗi khn thép thiết kế thép có hình dạng hình đa giác lồi N đỉnh, khơng có cạnh khuôn thép nằm gọn cạnh thép Để tiện cho việc gia công, khuôn thép vẽ cho hai đường thẳng chứa hai cạnh khơng kề khơng cắt bên thép Cơng việc cần làm q trình gia cơng sử dụng máy cắt để cắt khuôn thép từ thép Rõ ràng cần phải thực M nhát cắt Mỗi nhát cắt thực cách chọn cạnh khn thép cắt theo đường thẳng chứa cạnh chia thép thành hai phần, phần chứa khn thép cần gia cơng Chi phí cắt khn thép tổng chiều dài đường cắt Trên hình 2, thép tứ giác tơ nhạt, khn thép hình vng tơ gạch đậm Các nét gạch đứt đường cắt với tổng chi phí 6.5 đơn vị Yêu cầu: Cho biết hình dạng thép khn thép cần gia cơng Hãy tìm phương án cắt khn thép có chi phí nhỏ Dữ liệu: Vào từ file văn STEEL.INP: Dòng đầu ghi số N (3 N 2000) số đỉnh thép; N dòng tiếp theo, dòng ghi số thực x y (104 x, y 104 ) , toạ độ N đỉnh thép liệt kê theo chiều kim đồng hồ đỉnh đó; dòng ghi số M (3 M 2000) số đỉnh khuôn thép; cuối M dòng, dòng ghi số thực x y (104 x, y 104 ) toạ độ M đỉnh khuôn thép liệt kê theo chiều kim đồng hồ đỉnh Các số dòng cách dấu cách Kết quả: Đưa file văn STEEL.OUT chi phí nhỏ tìm với độ xác tới chữ số sau dấu chấm thập phân Ví dụ: STEEL.INP 3.5 STEEL.OUT 6.5000 Bảng B Bài Đóng gói sản pham Tên file chương trình: ZXY.PAS Ở đầu dây chuyền sản xuất nhà máy ZXY có máy xếp tự động Sau kết thúc việc gia công dây chuyền, sản phNm xếp vào hộp có dung lượng M Sản phNm rời khỏi dây chuyền xếp vào hộp mở (khi bắt đầu ca làm việc có hộp rỗng mở sẵn) dung lượng hộp đủ để chứa sản phNm Trong trường hợp ngược lại, máy tự động đóng nắp hộp tại, cho xuất xưởng mở hộp rỗng để xếp sản phNm vào Trong ca làm việc có n sản phNm đánh số từ đến n theo thứ tự mà chúng rời khỏi dây chuyền Sản phNm thứ i có trọng lượng ai, i = 1, 2, …, n Ban Giám đốc nhà máy qui định sản phNm xuất xưởng ca làm việc phải xếp vào không k hộp Yêu cầu: Hãy giúp người quản đốc ca làm việc xác định giá trị M nhỏ cho số hộp mà máy tự động cần sử dụng để xếp dãy n sản phNm xuất xưởng ca không vượt số k cho trước Dữ liệu: Vào từ file văn ZXY.INP: Dòng chứa hai số nguyên n k, (1≤ k ≤ n ≤ 15000); Dòng thứ i n dòng chứa số nguyên dương (ai ≤30000), i =1, 2, …, n Các số dòng cách dấu cách Kết quả: Ghi file ZXY.OUT số nguyên dung lượng hộp Ví dụ: ZXY.INP ZXY.OUT Bài Chữ số Tên chương trình: DIGIT.PAS Cho xâu M không 127 ký tự lấy từ tập F = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}và không bắt đầu ký tự Gọi S xâu với giá trị ban đầu xâu M Người ta biến đổi M theo quy tắc sau: đếm số lần xuất ký tự 0, 1, 2, , F, gọi Ki số lần xuất ký tự i (với i 0, 1, 2, F) Với Ki người ta viết liên tiếp xâu biểu diễn số Ki số 16 ký tự i Xâu kết thu giá trị M Sau lần biến đổi người ta lại viết tiếp M vào sau S Ví dụ, với M = '150A', S nhận giá trị ban đầu '150A' Sau lần biến đổi thứ ta có M '1011151A' S ='150A1011151A' Sau lần biến đổi thứ ta có M '1051151A' S ='150A1011151A1051151A' Sau lần biến đổi thứ ta có M '1041251A' S = „150A1011151A1051151A1041251A‟ Yêu cầu: Cho xâu M, số lần biến đổi L ( ≤ L ≤ 107) X ký tự từ tập F Hãy đếm số lần xuất X S thu sau L lần biến đổi M Dữ liệu: Vào từ file văn DIGIT.INP : Dòng thứ chứa xâu M, Dòng thứ chứa số nguyên L Dòng thứ chứa ký tự X Kết quả: Đưa file văn DIGIT.OUT số nguyên - số lần xuất X Ví dụ: DIGIT.INP 150A DIGIT.OUT Bài Đổi đất Tên file chương trình: LAND.PAS Hai lạc Anpha Bêta sống hoà thuận với Một phần ranh giới hai lạc đường gấp khúc không tự cắt Đường gấp khúc nhận cách nối N điểm đôi khác A1, A2 , , AN Điểm Ai xác định hoành độ xi tung độ yi ( xi số nguyên thoả mãn điều kiện: xi xi1 ) Phần đất lạc Anpha nằm phía đường gấp khúc Nhân dịp năm mới, tù trưởng hai lạc định thay đường ranh giới cũ cách xây dựng đường cao đường nối thẳng từ A1 tới AN lấy đường cao tốc ranh giới Dĩ nhiên, thay đổi chuyển phần đất lạc Anpha cho lạc Bêta ngược lại trưởng thoả thuận phần diện tích chênh lệch việc thay đường ranh giới điều chỉnh tương lai cách khác đổi tốc làm số Hai tù đổi Yêu cầu: Hãy tính diện tích phần đất SA lạc trở thành đất lạc Bêta diện tích phần đất SB lạc Bêta trở thành đất lạc Anpha sau thay đổi đường ranh giới hai lạc Anpha Dữ liệu: Vào từ file văn LAND.INP : Dòng đầu chứa số N (N 10000) ; Dòng thứ i N dòng chứa hai số nguyên xi cách (32000 xi , yi 32000) yi đặt cách dấu Kết quả: Đưa file văn LAND.OUT dòng thứ chứa SA , dòng thứ hai chứa SB Kết lấy xác với chữ số sau dấu chấm thập phân Ví dụ : LAND.INP 10 11 11 11 LAND.OUT 8.0000 9.0000 Bài Bộ sưu tập Tên chương trình: COLLECT.PAS Một sưu tập tiền xu cổ coi có giá trị phải gồm khơng Z đồng tiền vàng, S0 đồng tiền bạc M đồng tiền đồng Bộ sưu tập ban đầu Alibaba có số lượng định đồng tiền vàng, bạc đồng chưa phải sưu tập có giá trị Tại Trụ sở Hiệp hội người sưu tầm tiền cổ có đặt máy đổi tiền để giúp hội viên đổi sưu tập có giá trị Tuy nhiên, máy đổi hỗ trợ việc đổi tiền trọn gói theo quy tắc đổi gói ( Z1 , S1 , M ) lấy gói ( Z , S , M ) đồng tiền Các quy tắc đổi tiền khác đôi một, gán số hiệu 1,2,3, cơng bố trước Hội viên tạo gói tiền thích hợp từ sưu tập để thực việc đổi tiền Số lần đổi tiền không hạn chế, nhiên, để ngăn chặn việc đầu cơ, Hiệp hội quy định hội viên không giữ đồng tiền loại Các đồng tiền nhận sau lần đổi gộp lại với đồng tiền mà hội viên có để thành sưu tập sử dụng để đổi lần sau cần Yêu cầu: Cho biết số lượng Z , S, M đồng tiền vàng, bạc, đồng mà Alibaba có ban đầu quy tắc đổi tiền Hãy phương án đổi tiền để Alibaba có sưu tập có giá trị Dữ liệu vào đảm bảo ln có phương án Dữ liệu: Vào từ file văn COLLECT.INP: Dòng đầu ghi số nguyên không âm Z , S, M , Z , S0 , M (0 Z , S, M , Z , S0 , M 4) ; Các dòng dòng ghi số nguyên không âm Z1S1M1Z S2 M xác định quy tắc đổi tiền Kết quả: Đưa file văn COLLECT.OUT dòng ghi dãy số hiệu quy tắc theo thứ tự sử dụng phương án đổi tiền Các số dòng file liệu file kết đặt cách dấu cách Ví dụ: COLLECT.INP COLLECT.OUT Năm 2006 Bảng A Bài Dãy dài Cho dãy số nguyên a1, a2, , an Dãy số ai, ai+1, , aj với 1 i j n gọi dãy dãy số cho đó, j-i+1 gọi độ dài, a gọi trọng lượng dãy k i k Yêu cầu: Cho số nguyên p, số dãy dãy số cho có trọng lượng khơng nhỏ p tìm dãy có độ dài lớn Dữ liệu: Vào từ file văn MAXSEQ.INP: Dòng ghi hai số nguyên n p cách dấu cách; Dòng thứ i số n dòng chứa số nguyên số hạng thứ i dãy số cho, i = 1, 2, , n Kết quả: Ghi file văn MAXSEQ.OUT số nguyên k độ dài dãy tìm (qui ước: khơng có dãy thoả mãn điều kiện đặt k = -1) Ví dụ: MAXSEQ.INP MAXSEQ.OUT MAXSEQ.INP MAXSEQ.OUT -2 -1 -2 -2 Hạn chế: Trong tất test: n 20000; | | 20000; | p | 109 Có 50% số lượng test với n 1000 Bài Đường lưới Cho lưới ô vuông gồm m dòng n cột Các dòng đánh số từ đến m từ xuống dưới, cột đánh số từ đến n từ trái qua phải Ơ nằm vị trí dòng i cột j lưới gọi ô (i,j) đó, i gọi toạ độ dòng j gọi toạ độ cột ô Trên ô (i,j) lưới ghi số nguyên dương aij, i = 1, 2, , m; j = 1, 2, , n Trên lưới cho, từ (i,j) ta di chuyển đến ô (p,q) điều kiện sau thoả mãn: j < n; i p; j q i + j < p + q; aij apq có ước số chung lớn Ta gọi cách di chuyển từ mép trái sang mép phải lưới cách di chuyển có toạ độ cột qua ô lưới tuân theo qui tắc di chuyển nêu kết thúc có toạ độ cột n u cầu: Tính số cách di chuyển từ mép trái sang mép phải lưới Dữ liệu: Vào từ file văn NETPATH.INP: Dòng ghi số nguyên dương m, n Dòng thứ i số m dòng ghi n số nguyên dương ai1, ai2, , ain số dòng thứ i lưới, i = 1, 2, , m Hai số liên tiếp dòng ghi cách dấu cách Kết quả: Ghi file văn NETPATH.OUT số nguyên k số lượng cách di chuyển tìm được, biết liệu đảm bảo k < 109 Ví dụ: NETPATH.INP NETPATH.OUT NETPATH.INP 2 2 NETPATH.OUT Hạn chế: Trong tất test: < m, n 100; aij 30000, i=1,2, ,m; j=1,2, ,n Có 50% số lượng test với m, n 50 Bài Bumêran Bumêran công cụ săn đá gỗ thổ dân Úc Nếu ném cách thích hợp, bumêran bay tới đích lượn tay người ném Để đáp ứng nhu cầu thể thao rèn luyện kỹ sử dụng bumêran, công ty định chế tạo bumêran nhựa Mỗi ném với lực phía trước, bumêran bay theo quĩ đạo định khơng thiết quay trở vị trí ban đầu Theo thiết kế, bumêran gắn với xâu S gồm không 250 ký tự lấy từ tập {„F‟,‟R‟} Quĩ đạo bay cách ném bumêran dọc theo đường thẳng mơ tả xâu ký tự nhận cách xoá bớt số ký tự xâu S gắn với nó, ký tự cho biết bumêran bay qua khoảng độ dài hướng nào: F – bumêran bay phía trước, R – bumêran bay ngược trở lại. Một cách ném bumêran dọc theo đường thẳng gọi an toàn thoả mãn điều kiện: Điều kiện Bumêran: vị trí bắt đầu kết thúc quĩ đạo bay trùng nhau. Điều kiện an tồn: Nếu vị trí ban đầu xuất quĩ đạo bay trình bay chưa kết thúc hướng bay phải „F‟. Hai cách ném gọi khác hai xâu mô tả quĩ đạo bay chúng khác Với bumêran, có nhiều cách ném an tồn khác Ví dụ, với bumêran có xâu S = „FFFRRRRRF‟, ta có cách ném an toàn: „FR‟, „FFRR‟ „FFFRRR‟ Lưu ý quĩ đạo bay bumêran vị trí ban đầu xuất nhiều lần Yêu cầu: Cho xâu S, xác định số cách ném an tồn khác thực Dữ liệu: Vào từ file văn BUMERAN.INP chứa xâu S Kết quả: Đưa file văn BUMERAN.OUT số nguyên số lượng cách ném an tồn thực Ví dụ: BUMERAN.INP BUMERAN.OUT FFFRRRRRF Hạn chế: Có 50% số lượng test với xâu S có độ dài khơng q 100 Bài Nhóm hình đồng dạng Trên mặt phẳng cho K hình, đánh số thứ tự từ đến K Mỗi hình tạo đường gấp khúc khép kín khơng tự cắt có cạnh song song với trục tọa độ Ta nói hai hình thuộc nhóm đồng dạng cách thực phép biến đổi: lấy đối xứng qua trục, xoay, tịnh tiến song song với trục, phóng to, thu nhỏ hình đặt trùng khít lên hình Yêu cầu: Xác định số lượng nhóm đồng dạng số lượng hình nhóm tìm Dữ liệu: Vào từ file văn GROUP.INP: Dòng ghi số ngun K số lượng hình; Dòng thứ i K dòng mơ tả hình thứ i: ki (4 ≤ ki ≤ 200) số lượng đỉnh hình thứ i (1 ≤ i ≤ K), ki cặp tọa độ đỉnh liệt kê theo chiều vòng quanh hình (các tọa độ số ngun có trị tuyệt đối khơng q 20000) Các số dòng ghi cách dấu cách Kết quả: Ghi file văn GROUP.OUT: Dòng ghi số nguyên M số lượng nhóm hình đồng dạng tìm Dòng thứ hai ghi dãy M số nguyên dãy số lượng phần tử nhóm liệt kê theo thứ tự khơng giảm Ví dụ: GROUP.INP 6 -2 -1 -1 7 -2 12 5 2 1 1 2 -1 -1 4 -2 -2 6 10 12 12 8 10 12 -1 -2 -2 -3 -1 -3 -1 -4 -2 -4 -2 -5 -5 -4 -4 -1 -1 -4 11 -4 11 -3 10 -3 10 -1 Hạn chế: Trong tất test: ≤ K ≤ 200. Có 50 số lượng test với K ≤ 100. GROUP.OUT 2 Bài Công viên Disneyland Bờm Cuội mời đến vui chơi miễn phí cơng viên Disneyland cơng viên khai trương thành phố Mặt trăng Trong công viên có tất n tụ điểm vui chơi (được đánh số từ đến n) Trước Bờm Cuội hứa chụp ảnh tất tụ điểm có cơng viên để giới thiệu cho bạn lớp Vì số lượng tụ điểm lớn mà thời gian lại hạn hẹp, Bờm Cuội định thực việc dạo qua tất tụ điểm theo qui tắc sau đây: Cùng xuất phát tụ điểm 1. Mỗi tụ điểm phải người dạo qua. Mỗi người thăm tụ điểm theo thứ tự tăng dần số. Khi kết thúc, người từ tụ điểm cuối đường phải quay nơi xuất phát mà không qua tụ điểm khác. Yêu cầu: Cho biết tij thời gian từ tụ điểm i đến tụ điểm j (i, j = 1, 2, , n), xác định giúp Bờm Cuội cách thực cách tuân thủ qui tắc nêu cho tổng thời gian mà hai người phải nhỏ Dữ liệu: Vào từ file văn DISNEY.INP: Dòng chứa số nguyên dương n. Dòng thứ i số n dòng ghi số nguyên ti1, ti2, , tin, i = 1, 2, , n Các số dòng ghi cách dấu cách. Kết quả: Ghi file văn DISNEY.OUT giá trị tổng thời gian nhỏ tìm Ví dụ: DISNEY.INP DISNEY.OUT 10 Hạn chế: Trong tất test: n 200; tij 32000, i, j = 1, 2, , n. Có 50% số lượng test với n 100. Năm 2007 Bài Kiểm soát giao thơng Để kiểm sốt chặt chẽ việc chấp hành luật giao thông đường hầm đường cao tốc Bắc – Nam (hình 1), người ta đặt camera trước đường vào sau đường đường hầm Các camera ghi nhận biển số xe vào biển số xe Thông tin xe vào hầm theo chiều Bắc – Nam ghi vào file văn NS1.INP, thông tin xe khỏi hầm theo chiều Bắc – Nam ghi vào file văn NS2.INP Các file định kỳ truyền tới trạm kiểm sốt, nơi tơ khỏi đường hầm qua Dựa vào thơng tin ghi hai file người ta xác định xác xe phạm luật “tuyệt đối cấm vượt đường hầm” Các xe chạy liên tục, khơng có xe dừng lại đường hầm Độ dài đường hầm cho phép chứa tối đa K xe (1 ≤ C•m K ≤ 10000) v••t Hãy xác định số lượng xe vi phạm Dữ liệu vào từ file văn NS1.INP NS2.INP file có nội dung: Dòng đầu chứa số K, Mỗi dòng file chứa biển số xe xâu gồm không 10 ký tự khơng có biển số trùng file Trong file có khơng q 500000 dòng Hình Kết quả: ghi file văn NS.OUT số nguyên cho biết số lượng xe vi phạm tìm Ví dụ: NS1.INP 29A3642 53B1234 NG667758 SH09-456 15C6688 NS2.INP 53B1234 29A3642 15C6688 NG6677-58 SH09-456 NS.OUT Bài Phương án phòng thủ Để phòng vệ cho trận địa có dạng lưới vng m × n, Bộ huy qn tính tốn việc thiết lập chốt phòng thủ theo khu vực, chốt đặt ô vuông trận địa ô vng có khơng q chốt Giả sử hàng ngang đánh số từ đến m theo trình tự từ xuống hàng dọc đánh số từ đến n theo trình tự từ trái sang phải Ô nằm giao hàng ngang i hàng dọc j gọi ô (i,j) Hệ thống phòng thủ cần phải bảo đảm hàng ngang, hàng dọc có đủ số lượng chốt cần thiết Bên cạnh đó, dựa vào thơng tin tình báo, chun gia tính tốn khả đánh phá địch pij (pij 0) Nhân S ký hiệu Ker(S) xác định sau Gọi U xâu thu từ S cách bỏ m ký tự cuối m ký tự đầu S, m = n div Khi đó: Ker(S) = U, U biểu thức ngoặc U≠S, Ker(S) = (biểu thức rỗng), trường hợp ngược lại, Qui ước Ker() = Ví dụ, S = „()(())()‟, ta có Ker(S) = „(())‟ Nếu S = „()(())‟, có Ker(S) = , U = „)(()‟ – khơng phải biểu thức ngoặc Dễ dàng nhận thấy, với n = 1, Ker(S) = Với biểu thức ngoặc S cho trước ta thực đệ qui nhiều lần phép xác định nhân Ker(Ker(…(Ker(S))…)) nhận biểu thức rỗng Ta gọi bậc biểu thức S số lần thực đệ qui việc xác định nhân S nhận biểu thức rỗng Ví dụ, biểu thức S = „()(())()‟ có bậc vì: ()(())() (()) () Biểu thức S = „()(())‟ có bậc nhân Ker(S) = Yêu cầu: Xét biểu thức ngoặc độ dài 2n có bậc p Các biểu thức xếp theo thứ tự từ điển („(„ < „)‟) đánh số trở Hãy tìm biểu thức thứ k Dữ liệu: Vào từ file văn EKERNEL.INP gồm dòng chứa số nguyên n, p k, số cách dấu cách (1 ≤ n ≤ 40, ≤ p ≤ 6, ≤ k ≤ 3×1018) Dữ liệu đảm bảo tồn biểu thức cần tìm Kết quả: Ghi file văn EKERNEL.OUT xâu ký tự xác định biểu thức tìm Ví dụ: EKERNEL.INP EKERNEL.OUT ()(()) Bài LED Để tạo khơng khí sơi nhắc nhở học sinh cố gắng học tập, nhà trường lắp đồng hồ đếm ngược, cho biết lại ngày, giờ, phút, giây tới thời điểm quan trọng chẳng hạn kiểm tra cuối kỳ môn văn, thi học sinh giỏi Quốc gia, thi Tốt nghiệp v v Trên mặt đồng hồ có cửa sổ: cửa sổ D ngày hiển thị chữ số cho biết số ngày lại, cửa sổ H giờ, cửa sổ M phút cửa sổ S giây Mỗi cửa sổ H, M S hiển thị chữ số giờ, phút, giây lại Mỗi chữ số hiển thị Điốt phát sáng (LED) đặt dọc ngang Hình 2a cho biết cách hiển thị chữ số từ đến Ví dụ, để hiển thị số cần LED dọc LED ngang Nếu thời gian lại 18 ngày, 10 giờ, 20 phút 10 giây bảng hiển thị đồng hồ đếm ngược có dạng hình 2b Hình 2a Hình 2b Như vậy, sau giây trạng thái đồng hồ đếm ngược bị thay đổi để hiển thị trạng thái ta phải bật sáng số lượng xác định LED dọc ngang Để thuận tiện việc xử lý, người ta lưu lại tổng số lượng LED dọc bật sáng qua lần hiển thị trạng thái hành Giả sử lần bật, bảng đồng hồ đếm ngược 18 ngày, 10 giờ, 20 phút, 15 giây tổng số lượng LED dọc bật sáng 159 Yêu cầu: Biết trạng thái đồng hồ đếm ngược (các giá trị D, H, M, S) tổng số lượng LED dọc bật sáng, xác định trạng thái đồng hồ đếm ngược lần bật Dữ liệu: Vào từ file văn LEDS.INP gồm dòng chứa số nguyên D, H, M, S, T (0 < T < 31) ghi cách dấu cách cho biết thông tin ngày, giờ, phút, giây trạng thái hành tổng số lượng LED dọc bật sáng Kết quả: Ghi file văn LEDS.OUT dòng số nguyên cho biết trạng thái đồng hồ lần bật theo thứ tự ngày, giờ, phút giây Ví dụ: LEDS.INP 18 10 20 10 159 LEDS.OUT 18 10 20 15 Bài Quay số trúng thưởng Trong trò chơi quay số trúng thưởng, có bánh xe quay quanh trục ngược chiều kim đồng hồ, có n Trên có ghi số ngun dương khơng vượt q n khơng có hai số giống Số ghi ô gọi giá trị ô Có kim định vị gắn cố định bên ngồi bánh xe để quay, bánh xe lướt qua kim định vị Khi bánh xe dừng quay, kim định vị trỏ vào ô ta nói bánh xe dừng Lượt chơi người thực sau Đầu tiên, người chơi quyền xoay để bánh xe dừng lại ô xuất phát tuỳ chọn Hệ thống tự động đánh số ô bánh xe từ đến n theo chiều kim đồng hồ ô xuất phát Các số thứ tự giữ nguyên kết thúc lượt chơi Sau chọn ô xuất phát, trả lời câu hỏi tương ứng với ô nhận phần thưởng trả lời đúng, người chơi bấm nút cho bánh xe tự động quay Hệ thống điều khiển lập trình để bánh xe dừng lại có số thứ tự lớn số thứ tự ô lần dừng trước Đồng thời, giá trị ô phải lớn giá trị ô cũ Mỗi lần bánh xe dừng, người chơi có hội trả lời câu hỏi để nhận phần thưởng Sau trả lời câu hỏi, người chơi lại bấm nút cho bánh xe tiếp tục quay Lượt chơi kết thúc người chơi trả lời sai hệ thống điều khiển khơng tìm dừng Nếu chọn vị trí xuất phát hợp lý người chơi có nhiều hội trả lời câu hỏi để lĩnh thưởng Ví dụ, giả sử bánh xe có mang giá trị 1, 3, 2, 5, Nếu chọn ô xuất phát ô có giá trị 2, bánh xe dừng ô có giá trị 5, hay Dù dừng lại lượt chơi kết thúc Nếu chọn xuất phát có giá trị 1, người chơi trường hợp may mắn nhất, có tới ba hội trả lời câu hỏi trò chơi (xem ví dụ hình 3) Hình 3- Nếu ta có tối đa hội trả lời Yêu cầu: Cho n giá trị vòng tròn Hãy cho biết số hội nhiều trả lời câu hỏi trò chơi mà người chơi chờ đợi chọn ô xuất phát hợp lý Dữ liệu: Vào từ file văn LWEEL.INP: Dòng chứa số nguyên n (1