TIỀN XU Bờm có rất nhiều đồng tiền xu, chúng có một trong hai mệnh giá: đồng hoặc đồng.. Cụ thể hơn, mỗi khi mua một món hàng giá trị đồng, Bờm muốn chỉ thanh toán bằng tiền xu và sử dụn
Trang 1SỞ GD&ĐT VĨNH PHÚC KÌ THI CHỌN HSG LỚP 9 CẤP TỈNH NĂM HỌC 2012-2013
ĐỀ 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)
Tổng quan về đề thi
Bậc đối xứng PALINDEG PAS PALINDEG.INP PALINDEG.OUT 1s/test 40
Dãy con CONFLICT PAS CONFLICT.INP CONFLICT.OUT 1s/test 20
Lập chương trình giải các bài toán sau:
Bài 1 TIỀN XU
Bờm có rất nhiều đồng tiền xu, chúng có một trong hai mệnh giá: đồng hoặc đồng Việc bảo quản tiền xu rất phiền phức, vì vậy, Bờm muốn tiêu hết chúng thật nhanh Cụ thể hơn, mỗi khi mua một món hàng giá trị đồng, Bờm muốn chỉ thanh toán bằng tiền xu và sử dụng cách dùng nhiều đồng xu nhất
Chẳng hạn, nếu Bờm có hai loại tiền xu mệnh giá 3 đồng và 5 đồng, khi phải thanh toán lượng tiền 32 đồng, Bờm có hai cách trả: cách thứ nhất sử dụng 9 xu mệnh giá 3 đồng và 1 xu mệnh giá 5 đồng, cách còn lại sử dụng 4 xu mệnh giá 3 đồng và 4 xu mệnh giá 5 đồng Cách thứ nhất sẽ được Bờm lựa chọn vì giúp Bờm tiêu nhiều đồng xu hơn
Cho , , , hãy xác định số đồng xu nhiều nhất có thể sử dụng để thanh toán chính xác số tiền đồng hoặc chỉ ra rằng không có cách thanh toán chỉ sử dụng hai loại đồng xu mệnh giá ,
Dữ liệu (COINS.INP)
Dòng 1: ba số nguyên , , (1 ≤ , ≤ 5000; 1 ≤ ≤ 10 )
Kết quả (COINS.OUT)
Dòng 1: số nguyên là số đồng xu nhiều nhất có thể sử dụng để thanh toán, số này bằng −1 nếu không có cách thanh toán
Ví dụ
Bài 2 BẬC ĐỐI XỨNG
Xâu đối xứng là xâu đọc từ trái qua phải giống như đọc từ phải qua trái, chẳng hạn các xâu
′ ′, ′ ′ là các xâu đối xứng
Người ta định nghĩa bậc đối xứng của xâu , kí hiệu deg( ), như sau:
Nếu không phải là xâu đối xứng hoặc có độ dài bằng 1 thì bậc đối xứng của bằng 0 (viết là: deg( ) = 0)
ĐỀ CHÍNH THỨC
Trang 2 Nếu là xâu đối xứng có độ dài lớn hơn 1, giả sử = … ( > 1), thì bậc đối xứng của được tính theo công thức: deg( ) = 1 + deg( ), trong đó xâu là nửa trái của theo nghĩa: = … với = ( + 1) div 2
Chẳng hạn:
deg(′ ) = 0 vì ′ ′ có độ dài bằng 1
deg(′ ′) = 0 vì ′ ′ không đối xứng
deg(′ ) = 1 vì deg(′ ′) = 1 + deg(′ ′)
deg(′ ) = 2 vì deg(′ ′) = 1 + deg(′ ′)
Cho xâu độ dài không vượt quá 200 chỉ gồm các chữ cái Latin in thường, hãy xác định bậc đối xứng của
Dữ liệu (PALINDEG.INP)
Dòng 1: xâu
Kết quả (PALINDEG.OUT)
Dòng 1: số nguyên là bậc đối xứng của xâu
Ví dụ
Bài 3 DÃY CON
Cho dãy số nguyên = ( , , … , ) và số nguyên dương Hãy tìm cách xóa bỏ trong dãy một số phần tử sao cho dãy con thu được có nhiều phần tử nhất đồng thời trong dãy con này không có hai phần tử nào có tổng chia hết cho
Chẳng hạn, với = 5, = 3, = (1, 2,3,4,5), dãy con dài nhất thu được có độ dài 3, có 4 dãy con như vậy, đó là (1,2,3); (1,3,4); (2,3,5); (3,4,5)
Dữ liệu (CONFLICT.INP)
Dòng 1: hai số nguyên , (1 ≤ ≤ 10 ; 2 ≤ ≤ 10 )
Dòng 2: số nguyên , , … , (| | ≤ 10 ∀ = 1 ÷ )
Kết quả (CONFLICT.OUT)
Dòng 1: số nguyên là số phần tử của dãy con thu được,
Dòng 2: số nguyên là chỉ số trong dãy ban đầu của các phần tử dãy con thu được, các số đưa ra theo trật tự tăng Nếu có nhiều cách xóa cho dãy con độ dài thỏa mãn yêu cầu bài toán thì chỉ cần đưa ra một cách
Ví dụ
3 2
HẾT
-Cán bộ coi thi không giải thích gì thêm.
Họ và tên thí sinh: Số báo danh: