Một số bài tập cơ bản liên quan đế vấn đề tìm kiếm hay liệt kê cấu hình theo điều kiện cho trước và phải dùng thuật toán quay lui để giải. Dùng cho ôn thi học sinh giỏi THPT.
Trang 1DẠNG BÀI TẬP LIỆT KÊ CẤU HÌNH THEO ĐIỀU KIỆN
DÙNG ÔN THI HỌC SINH GIỎI
(gợi ý: sử dụng thuật toán quay lui để giải)
Bài 1: Cho dãy A gồm n số (1 < n <= 10) và một số nguyên dương K (1 < K <= n/2) Hãy tìm cách
chia dãy số A thành K nhóm sao cho tổng của chúng bằng nhau
Dữ liệu vào gồm 2 dòng, dòng đầu chứa 2 số nguyên n và K, dòng thứ 2 ghi n số của dãy A Dữ liệu ra gồm K dòng, mỗi dòng là các số thuộc cùng một nhóm, nếu không chia được thì ghi -1
Vd:
Input:
5 3
1 4 6 9 10
Output:
1 9
4 6 10
Bài 2: Liệt kê các tập con k phần tử của n số nguyên đầu tiên.(các phần tử khác nhau)
Bài 3: Cho xâu s chỉ gồm các kí tí tự 'A' đến 'Z' (các kí tự đôi một khác nhau) Hãy liệt kê tất cả các
hoán vị khác nhau của xâu s
Bài 4: Cho số nguyên dương n (n<=20) Hãy liệt kê tất cả các xâu độ dài n chỉ gồm 2 kí tự ‘A’ hoặc
‘B’ mà không có kí tự ‘B’ nào đứng cạnh nhau
Bài 5: Cho một xâu S (Chỉ gồm các kí tự ‘0’ đến ‘9’ độ dài nhỏ hơn 10 và số nguyên M, hãy đưa ra tất
cả các cách chèn vào S các dấu ‘+’ hoặc ‘-‘ để thu được số M cho trước nếu không có phương án nào thỏa
mãn thì ghi là khong the chen.
Dữ liệu vào từ tệp PHEPTOAN.INP gồm 2 dòng
- dòng 1 xâu S
- dòng 2 số nguyên M
Kết quả ra file PHEPTOAN.OUT tất cả các cách chèn hoặc khong the chen
1234567 10
-1-2+3+4+5-6+7 -1+2-3+4-5+6+7 +1-2-3-4+5+6+7 +1-2+3+4+5+6-7 +1+2-3+4+5-6+7 +1+2+3-4-5+6+7 12345
6
Khong the chen
Bài 6: Một xâu X=x1,x2,…,xm được gọi là xâu con của xâu Y=y1,y2,…,yn nếu ta có thể nhận được xâu X từ xâu Y bằng cách xóa đi một số kí tự, tức là tồn tại một dãy các chỉ số:
1<=i1<i2<…<im<=N để x1=yi1, x2=yi2, xm=yim
Ví dụ: X=’adz’ là xâu con của xâu Y=’baczdtz’ ; i1=2<i2=5<i3=7.
Đọc xâu từ tệp xaucon.inp độ dài không quá 15 kí tự chỉ gồm các kí tự ‘a’ đến ‘z’(các kí tự trong
xâu là khác nhau).
Hãy liệt kê tất cả các xâu con khác nhau của xâu s và ghi vào tệpxaucon.out
Bài 7: Dãy số
Cho dãy số nguyên a1,a2, an số ap (1 <= p <= n) được gọi là một số trung bình cộng trong dãy nếu tồn tại 3 chỉ số i, j, k (1 <= i, j, k <= n) đôi một khác nhau,
sao cho ap = (ai + aj + ak)/3
Yêu cầu: Cho n và dãy số a1 a2, an„ Hãy tìm số lượng các số trung bìnhcộng trong dãy
Dữ liệu vào: Từ tệp TBC.INP
- Dòng đầu ghi số nguyên dương n (3 < n < 1000)
- Dòng thứ hai chứa n số nguyên ai (|ai|< 108) mỗi số cách nhau bởi dấu cách
Kết quả ra : Ghi vào tệp TBC.OUT
Trang 2Số lượng các số trung Bình cộng trong dãy.
Ví dụ:
5
7
6 4 5 2 8 9 7 5
Bài 8: Bài toán rút tiền tự động ATM
Một máy rút tiền tự động ATM có n (n<=20) tờ tiền có giá trị t1,t2,…,tn Hãy đưa ra một cách trả với số tiền đúng bằng S
Dữ liệu vào từ file “ATM.INP” có dạng:
- dòng đầu là 2 số n và s
- dòng 2 gồm n số t1,t2,…,tn
Kết quả ra file “ATM.OUT” có dạng: Nếu có thể trả đúng S thì đưa ra cách trả, nếu không thì ghi -1
10 390
200 10 20 20 50 50 50 50 100 100
20 20 50 50 50 100 100