H·y t×m mét sè nhiÒu nhÊt c¸c l¸ bµi sao cho tËp c¸c sè hiÖu cña chóng trïng víi tËp c¸c sè ghi trªn c¸c l¸ bµi ®ã.. D÷ liÖu vµo cho bëi file LABAI.INP trong ®ã dßng thø nhÊt ghi sè N ng[r]
Trang 11) Đề số 1
Bài 1 Hệ đếm
Trong một cuộc truy tìm một xe ôtô chở hàng lậu, nguồn tin đầu tiên cho biết: số của biển xe là số có 3 chữ số đối xứng
( Một số có n chữ số trong một hệ đếm nào đó đợc gọi là đối xứng nếu chữ
số thứ 1 giống với chữ số thứ n, chữ số thứ 2 giống với chữ số thứ n - 1, ) Sau đó cảnh sát nhận đợc thêm thông tin: số biển số là một số nguyên
tố Cảnh sát dựa vào dự đoán của một chuyên gia tin học đa ra sau khi phân tích các nguồn tin và xác định tập các số có thể là số của biển số: biển số nếu viết trong hệ nhị phân cũng là một số đối xứng Nhờ vậy mà cảnh sát đã bắt
đúng đối tợng Hãy cho biết các số mà chuyên gia tin học đã xác định mà số biển xe mà ông ta đã dự đoán đúng
2) Đề số 2
Bài 1 Tính giá trị biểu thức
Cho hai số thực c và d Tính:
¿
trong đó x1 : nghiệm lớn và x2 : nghiệm bé của phơng trình:
x2 - 3 x - cd = 0
Bài 2 Quan hệ
Có N ngời mang tên tơng ứng là 1, 2, , N và tình trạng quen biết của N ngời này đợc cho bởi mảng đối xứng A[1 N,1 N] trong đó A[i,j] = A[j,i] = 1 nếu i quen j và bằng 0 nếu i không quen j Hãy xét xem liệu có thể chia N
ng-ời đó thành 2 nhóm mà trong mỗi nhóm hai ngng-ời bất kì đều không quen nhau?
Dữ liệu vào đợc cho bởi file QUANHE.INP trong đó dòng thứ nhất ghi
số nguyên dơng N <= 100, trong N dòng tiếp theo, dòng thứ i ghi N số A[i,1], ., A[i,N]
Kết quả ghi ra file QUANHE.OUT nh sau:
o1 Nếu không có thể , ghi dòng chữ KHONG THE o2 Nếu có thể, ghi ra hai dòng, dòng thứ nhất tên những ngời thuộc nhóm 1, dòng thứ hai tên những ngời thuộc nhóm 2
3) Đề số 3
Bài 1 Phân số
Viết chơng trình nhập một số thực dơng R và một số nguyên dơng MAX Hãy tìm trong số các phân số có dạng P/ Q với Q <= MAX phân số gần số R nhất
Trang 2Bài 2 Kiến thiết xâu văn bản
Hãy lập chơng trình đa ra file XVB.TXT theo thứ tự từ điển tất cả các dăy có độ dài không lớn hơn n cho trớc và đợc xây dựng từ các chữ số 1, 2, 3 sao cho trong mỗi dãy không có bất kì hai dãy con liền kề nào giống nhau Cho biết có cả thảy bao nhiêu dãy nh vậy
Nói rằng, hai dãy a1 ap và b1 bq là đợc sắp theo thứ tự từ điển và kí hiệu: a1a2 ap < b1b2 bq, nếu: Tồn tại i = 1 mà ai < bi và đồng thời với mọi 1
= j = i thì aj = bj hoặc là nếu q > p thì với mọi 1 = j = p ta có a j = b j
4) Đề số 4
Bài 1 Điểm trên mặt phẳng
Cho các số thực a, b, c, d, e, f, g, h Biết rằng hai điểm (e,f) và (g,h) khác nhau và các điểm (a,b); (c,d) không nằm trên đờng thẳng l đi qua hai
điểm (e,f) và (g,h) Đờng thẳng l chia mặt phẳng làm hai nửa mặt phẳng Hai
điểm (a,b) và (c,d) có vị trí nh thế nào so với đờng thẳng l ?
Bài 2 Chia vật
Có bao nhiêu cách chia M vật cho N ngời sao cho sao cho ngời trớc không ít hơn ngời sau
M,N nhập từ bàn phím Kết quả đa ra file văn bản
5) đề Số 5
Bài 1 Tìm nghiệm phơng trình siêu việt
Tìm nghiệm của phơng trình siêu việt sau:
f(x) = 0 với f(x) = x3 + ex
trong khoảng [-1, 0] với độ chính xác 10- 6
Bài 2 Đặt phép tính
Cho số tự nhiên n Hãy đặt các dấu + hoặc – vào giữa các chữ số nào đó của 1, 2, 3, 4, 5, 6, 7, 8, 9 viết theo thứ tự đã cho để tạo ra một biểu thức có giá trị bằng n Ví dụ cho n =122 thì kết quả có thể nhận đợc là:
12 + 34 - 5 - 6 + 78 + 9
Nếu không tìm đợc các dãy nh vậy thì hãy cho thông báo
6) Đề số 6
Bài 1 Trò chơi bốc sỏi
Có một đống sỏi gồm số lợng nguyên không âm viên sỏi Mỗi đối thủ trong một lần bốc phải bốc thực sự một số ( =1 ) viên sỏi ra khỏi đống sỏi: số sỏi tối đa đợc bốc bị hạn chế bởi một lợng tối đa nào đó Ai bốc cuối cùng sẽ giành chiến thắng Hãy xây dựng chơng trình cho phép thể hiện trò chơi trên trong đó một đấu thủ là máy tính và chơng trình thể hiện chiến thuật thắng cho máy tính
Bài 2 Chu trình đơn hoạch
Một chu trình đợc gọi là đơn hoạch nếu có thể vẽ nó bằng chỉ một nét
mà không phải nhấc bút khỏi giấy và nét cuối cùng quay trở về đỉnh xuất phát
Trang 3Một đồ thị gồm có n đỉnh có thể biểu diễn bằng một ma trận vuông cấp
n, đó là ma trận nối ,trong đó: phần tử aij của ma trận bằng 1 nếu đỉnh i đợc nối với đỉnh j bằng một cạnh nào đó không chứa các đỉnh khác và bằng 0 trong trờng hợp ngợc lại ( i, j = 1, , n ) Đồ thị đợc cho bởi file
‘DOTHI.TXT’
Cho ma trận nối của một đờng có n đỉnh Hỏi có tồn tại một chu trình hoạch
đơn hay không? Nếu có hãy chỉ ra dãy số hiệu các đỉnh theo thứ tự đi qua khi vẽ
7) Đề số 7
Bài 1 Phân tích số
Lập chơng trình tính số cách phân tích số tự nhiên n >1 thành tổng các
số tự nhiên nhỏ hơn nó In ra tất cả các cách phân tích đó ( mỗi phân tích chỉ
kể đúng một lần, ví dụ 4 + 3 + 1 và 1 + 4 + 3 chỉ là một phân tích )
Bài 2 Chia kẹo
Có n gói kẹo, N <= 200, các gói kẹo đợc đánh số từ 1 đến N, gói kẹo thứ
i có A[i] cái kẹo, các số A[1], , A[N] đều nguyên dơng và không quá 200 Hãy tìm một cách chia các gói kẹo làm hai nhóm sao cho tổng số kẹo trong các nhóm sai khác nhau ít nhất
Dữ liệu vào đợc cho bởi file KEO.INP trong đó dòng thứ nhất ghi số N
và trong các dòng tiếp theo, mỗi dòng ghi 10 số lần lợt từ A[1] đến A[N] Kết quả ghi ra file KEO.OUT nh sau: dòng thứ nhất ghi số kẹo chênh lệch giữa hai nhóm, tiếp theo là một nhóm dòng ghi số hiệu các gói kẹo thuộc nhóm thứ nhất, mỗi dòng ghi 20 số hiệu, cuối cùng là một nhóm dòng ghi số hiệu các gói kẹo thuộc nhóm thứ hai, mỗi dòng ghi 20 số hiệu
8) Đề số 8
Bài 1 Cân một vật
Cho n quả cân với khối lợng tơng ứng d1, ,dn Cho vật với khối lợng bất kì Hỏi có cân đợc vật đó trên bàn cân hai đĩa với các quả cân trên hay không? Cho biết các trọng lợng đó đều là nguyên
Bài 2 Ghép xâu
Cho N xâu kí tự A1, A2, , An , N <= 100, độ dài mỗi xâu Ai không quá
10, và một xâu kí tự S Hãy tìm mọi cách biểu diễn S dới dạng ghép của các xâu kí tự Ai, mỗi xâu Ai có thể xuất hiện trong biểu diễn đó nhiều lần
Dữ liệu vào đợc cho bởi file XAU.INP trong đó dòng thứ nhất ghi xâu S, dòng thứ hai ghi số N, trong N dòng tiếp theo, dòng thứ i ghi xâu Ai
Kết quả ghi ra file XAU.OUT nh sau:
o1 Nếu không có biểu diễn, ghi dòng chữ KHONG CO o2 Nếu có biểu diễn, ghi mỗi biểu diễn trên một dòng theo quy cách
nh ví dụ
Ví dụ:
Trang 411
ab
cd
ef
abc
def
a
b
c
d
e
f
A[1]A[2]A[3]
A[1]A[2]A[10]A[11]
A[1]A[8]A[5]
A[1]A[8]A[9]A[3]
A[1]A[8]A[9]A[10]A[11]
A[4]A[5]
A[4]A[9]A[3]
A[4]A[9]A[10]A[11]
A[6]A[7]A[2]A[3]
A[6]A[7]A[2]A[10]A[11]
A[6]A[7]A[8]A[5]
A[6]A[7]A[8]A[9]A[3]
A[6]A[7]A[8]A[9]A[10]A[11]
9) Đề số 9
Bài 1 Đờng đi ngắn nhất
Cho một đồ thị N đỉnh, N <= 100, có ma trận trọng số không âm C và với mọi i, j thì C[i,j] <= 100 Cho trớc hai đỉnh u và v Hãy tìm đờng đi ngắn nhất từ đỉnh u đến đỉnh v
Dữ liệu vào cho bởi file DOTHI.INP trong đó dòng thứ nhất ghi ba số N,
u, v Trong N dòng tiếp theo, dòng thứ i ghi N số C[i,1], , C[i,N]
Kết quả ghi ra file DOTHI.OUT nh sau: dòng thứ nhất ghi độ dài đờng
đi ngắn nhất từ u đến v; trong các dòng tiếp theo, mỗi dòng ghi một đỉnh của
đờng đi từ u đến v lần lợt theo thứ tự trên hành trình từ u đến v
Bài 2 Dãy số
Cho một dãy số, hãy xóa đi một số để dãy còn lại là một dãy đơn điệu tăng dài nhất
Ví dụ: 5 15 6 2 11 4 5 6 15
Kết quả: 2 4 5 6 15
10) Đề số 10
Bài 1 Giai thừa
Tính n! ( N <=10000 ) với N nhập từ bàn phím Kết quả ghi ra file văn bản: GIAITHUA.OUT
Bài 2 Biến đổi xâu
Viết chơng trình làm các việc sau:
1 Nhập từ bàn phím hai xâu kí tự S1 và S2
2 Ta có thể dùng một trong ba loại phép biến đổi sau:
BD1: xoá một kí tự nào đó trong xâu
BD2: thêm một kí tự nào đó vào một vị trí nào đó của xâu
BD3: thay một kí tự nào đó trong xâu bằng một kí tự khác
Hãy thông báo ra file OUT.TXT liệu có thể dùng một số phép biến
đổi thuộc ba loại trên để biến đổi S1 thành S2 không, quy cách thông báo
nh xâu: ví dụ S1=tsgldds, thì ta phải thông báo nh sau:
Trang 5Biến đổi đợc ptslddf – xoá p/1 => tslddf tslddf – thêm g/3 => tsglddf tsglddf – thay f/7/s => tsgldds
3 Trong trờng hợp biến đổi đợc, hãy tìm cách dùng ít phép biến đổi nhất và thông báo tiếp vào file OUT.TXT theo quy cách nh trên
11) Đề số 11
Bài 1 Mã đi tuần
Một con mã xuất phát từ một ô bàn cờ 8x8, hỏi con mã đó có thể đi hết cả bàn cờ mà không đi lặp lại ô đã đi qua hay không?
Chỉ cần đa ra một cách đi Kết quả ghi vào file RESULT.TXT
Bài 2 Sắp xếp
Để quản lý nhân sự ở một tỉnh nọ có khoảng 1 triệu ngời, hãy sắp xếp tuổi của dân c ở đây theo thứ tự từ nhỏ đến lớn Biết rằng tuổi ở đây chỉ nằm trong khoảng từ 1 đến 100
Tuổi của dân c đợc cho vào từ file TUOI.INP viết liên tiếp nhau, cách nhau ít nhất một dấu cách hoặc một dấu xuống dòng Kết quả đa ra file TUOI.OUT cấu trúc nh file vào nhng đã đợc sắp xếp
Ví dụ:
TUOI.INP TUOI.OUT
1 2 20 4 45 62 3
2 4 55 2 4 5 100
1 2 2 2 3 4 4 4 5
20 45 55 62 100 12) Đề số 12
Bài 1 Ghép số nguyên tố
Giả sử dãy A là dãy tăng dần các số nguyên tố: 2, 3, 5, 7,
Ta lập dãy B bằng cách viết ghép từng cặp số liền kề của dãy A với nhau: 23, 57, 1113, 1719,
C là dãy nhận từ B bằng cách gạch đi các số không là nguyên tố
Hãy tìm j số hạng đầu của dãy C, j <= 300 Số j nhập từ bàn phím và kết quả viết ra file NT.TXT, mỗi số hạng một dòng
Bài 2 Xếp việc
Bắt đầu từ thời điểm 0, một ngời làm N việc với số hiệu từ 1 đến N, N <=
200 Với 1 <= i <= N, việc i cần làm trong T[i] đơn vị thời gian và mỗi đơn vị thời gian từ thời điểm 0 đến lúc bắt đầu làm nó, ngời đó bị phạt một lợng tiền C[i] Khi đã làm một việc nào thì phải làm xong mới chuyển sang việc làm khác Hãy thu xếp trình tự các việc làm sao cho tổng số tiền bị phạt là ít nhất Dữ liệu vào đợc cho bởi file XEPVIEC.INP trong đó dòng thứ nhất ghi
số nguyên dơng N Với 1 <= i <= N, dòng thứ i +1 ghi hai số thực T[i] và C[i]
Dữ liệu ra ghi trong file XEPVIEC.OUT Dòng thứ nhất ghi tổng số tiền bị phạt Từ dòng thứ hai ghi mỗi dòng 1 cặp số: số thứ nhất là số hiệu việc, số thứ hai là thời điểm bắt đầu làm việc Trình tự từ trên xuống dới là trình tự lần lợt làm các việc
Trang 613) Đề số 13
Bài 1 Giao d?ch
Trên một lãnh thổ có N thành phố đánh số từ 1đến N (N <= 100 ) Trên lãnh thổ có một mạng giao thông một chiều Một công ty nọ muốn đặt các trạm giao dịch để từ đó hàng hoá của công ty có thể đi đến tất cả các thành phố
•1 Hãy cho biểt công ty cần đặt ít nhất bao nhiêu trạm giao dịch để đạt
đợc mục đích trên
•2 Hãy cho biết có thể loại bỏ đợc nhiều nhất bao nhiêu con đờng mà số
ít nhất trạm giao dịch cần thiết vẫn không đổi
•3 Hãy cho biết cần thêm vào mạng giao thông ít nhất bao nhiêu con đờng nối trực tiếp nữa để chỉ cần một trạm giao dịch là đủ
Dữ liệu vào từ file GIAODICH.INP bao gồm:
•1 Dòng đầu là số N
•2 Các dòng tiếp theo ghi các con đờng với cặp số (i , j) cách nhau 1 dấu cách nghĩa là có con đờng từ i đến j
Kết quả ra file GIAODICH.OUT bao gồm:
•3 Câu 1: dòng1 là số trạm giao dịch ít nhất Các dòng sau ghi chỉ số các thành phố cần xây dựng trạm giao dịch, cách nhau ít nhất một dấu cách
•4 Câu 2: dòng tiếp theo ghi số con đờng nhiều nhất có thể loại Mỗi dòng tiếp theo ghi cặp số (P, Q) cách nhau 1 dấu cách thể hiện con đ-ờng đó
•5 Câu 3: dòng tiếp theo ghi số con đờng ít nhất cần xây dựng Mỗi dòng tiếp theo ghi cặp số (x, y) cách nhau 1 dấu cách thể hiện con đu?ng đú
Bài 2 Xoá số
Một số nguyên dơng N rất lớn có thể đợc cho bởi số nguyên dơng P, P số nguyên dơng A1, , Ap và P xâu kí tự chỉ gồm các chữ số thập phân S1, ,
Sp Khi đó N sẽ nhận đợc bằng cách viết S1 liên tiếp A1 lần rồi S2 liên tiếp A2 lần, , Sp liên tiếp Ap lần Ví dụ với P = 3, A1 = 3, S1 = 123, A2 = 4, S2
= 0, A3 = 2, S3 = 45 thì ta có N = 12312312300004545
Giả sử số N đợc cho nh vậy và cho một số nguyên dơng K không vợt quá
số chữ số của N, hãy tìm cách gạch đi K chữ số của N để nhận đợc một số có giá trị nhỏ nhất
Các số P, K, A1, , Ap, các xâu S1, , Sp có thể nhập từ file hoặc từ bàn phím Thông báo số nhận đợc ra màn hình
14) Đề số 14
Bài 1 Lá bài
Có N lá bài với các số hiệu là 1, 2, , N, N <= 50, trên lá bài i ghi một
số nguyên dơng F[i], 1 <= F[i] = N Hãy tìm một số nhiều nhất các lá bài sao cho tập các số hiệu của chúng trùng với tập các số ghi trên các lá bài đó Dữ liệu vào cho bởi file LABAI.INP trong đó dòng thứ nhất ghi số N nguyên dơng Trong các dòng tiếp theo ghi mỗi số 10 số (cho tới khi hết N số) lần lợt là các số ghi trong các lá bài từ lá bài 1 đến lá bài N
Trang 7Dữ liệu ra ghi ra file LABAI.OUT, trong đó dòng thứ nhất ghi số lợng lá bài Trong các dòng tiếp theo, mỗi dòng ghi 10 số hiệu của các lá bài đợc chọn, các số hiệu ghi theo thứ tự tăng dần cho đến hết
Ví dụ
14
6 5 1 3 4 2 8 10 7 9
3 2 1 9
10
1 2 3 4 5 6 7 8 9 10
Bài 1 Lịch gia công tuần tự hai máy
Có n chi tiết 1,2, , n , mỗi chi tiết cần đợc lần lợt gia công trên 2 máy
Đầu tiên qua máy A rồi đến máy B
Giả thiết thời gian gia công trên máy A là ai, thời gian gia công trên máy
B là bi Hãy xếp lịch gia công để thời gian hoàn thành tất cả các chi tiết là sớm nhất
Dữ liệu vào từ file THOIGIAN.TXT bao gồm:
•1 Dòng đầu là số chi tiết N
•2 N số tiếp theo là thời gian từng chi tiết thực hiện trên máy A
•3 N số tiếp theo là thời gian từng chi tiết thực hiện trên máy B
Kết quả ra file LICH.TXT bao gồm:
•4 Dòng đầu là thời gian thực hiện T
•5 N số tiếp theo là thứ tự gia công trên máy A
•6 N số tiếp theo là thứ tự gia công trên máy B
15) Đề số 15
Bài 1 Dãy ngoặc
Một dãy ngoặc đúng là một dãy các ký tự "(", ")", "[" và "]" đợc định nghĩa nh sau:
I Dãy rỗng là một dãy ngoặc đúng
II Nếu A là dãy ngoặc đúng thì (A) và [A] cũng là những dãy ngoặc đúng
III.Nếu A và B là những dãy ngoặc đúng thì AB cũng là dãy ngoặc
đúng
Ví dụ các dãy: (), [], ([])()[()] là những dãy ngoặc đúng
Yêu cầu: Cho xâu S chỉ gồm các ký tự "(", ")", "[" và "]" Hãy tìm cách
bổ sung một số tối thiểu các ký tự cần thiết để nhận đợc một dãy ngoặc đúng Cho biết dãy ngoặc đúng đó
Dữ liệu vào từ file văn bản BRACKET.INP, chỉ gồm 1 dòng chứa xâu S
không quá 200 ký tự
Kết quả: Ghi ra file văn bản BRACKET.OUT, chỉ gồm 1 dòng ghi biểu
thức ngoặc đúng tơng ứng với xâu S
Vớ d?:
BRACKET.IN
P
BRACKET.OU T
Trang 8Bài 1 Đua ngựa
ở thời Xuân Thu, vua Tề và Điền Kỵ thờng hay tổ chức đua ngựa từng cặp với nhau Mỗi một loại ngựa có một hệ số khác nhau Trong cuộc đua, con ngựa nào có hệ số cao hơn thì sẽ thắng, nếu có hệ số ngang nhau thì sẽ về
đích cùng một lúc Ai có tổng số trận thắng nhiều hơn thì sẽ thắng chung cuộc Số trận <= 1000 trận Bạn hãy giúp Điền Kỵ sắp xếp các lợt đấu để đạt
số trận thắng cao nhất có thể
Dữ liệu vào từ file HESO.INP bao gồm:
- Dòng đầu là số lợng ngựa: n
- Dòng thứ hai có n số , số thứ i là hệ số của con ngựa thứ i của Điền Kỵ
- Dòng thứ hai có n số , số thứ i là hệ số của con ngựa thứ i của vua Tề Kết quả ghi vào file LICHDAU.OUT gồm n số, số thứ i là chỉ số ngựa
của Điền Kỵ đem đấu với con ngựa thứ i của vua Tề Ví dụ:
HESO.INP
3
4 6 2
9 3 5
LICHDAU.OUT
3 1 2
16) Đề số 16
Bài 1 Hòm phiếu
Trên một lãnh thổ có n thành phố đợc đánh số từ 1 đến n Trong một cuộc chng cầu dân ý cần đặt một số hòm phiếu tại một số thành phố ở mọi ngời từ n thành phố đi bỏ phiếu Tuy nhiên, để số ngời đi bỏ phiếu là nhiều nhất có thể đợc, ngời ta muốn đặt các hòm phiếu sao cho quãng đờng ngời phải đi xa nhất là ngắn nhất có thể đợc
Hãy tìm cách đặt các hòm phiếu sao cho đạt đợc mục đích đó
INPUT: file TP.INP bao gồm:
•1 n, k (số thành phố và số thành phố cần đặt hòm phiếu)
•2 ma trận khoảng cách giữa các thành phố
OUTPUT: file TP.OUT bao gồm:
•3 quãng đờng mà ngời phải đi xa nhất
•4 lần lợt các thành phố cần đặt hòm phiếu
Ví dụ:
4 2
0 8 0 9
8 0 2 0
0 2 0 2
9 0 2 0
2
1 3
Bài 2 Xin chữ ký
Giám đốc công ty trách nhiệm hữu hạn muốn xin chữ ký kiến trúc s trởng thành phố phê duyệt dự án xây dựng của công ty Ông kiến trúc s chỉ
ký vào giấy khi bà th ký đã ký duyệt vào giấy phép Bà th ký làm việc ở tầng thứ M của tóa nhà gồm M tầng đợc đánh số từ thấp lên cao, mỗi tầng
có N phòng đợc đánh số từ trái sang phải Mỗi phòng có 1 nhân viên làm
Trang 9việc Bà th ký chỉ ký khi có ít nhất một nhân viên tầng thứ M đã ký duyệt Một nhân viên chỉ ký khi một trong các điều kiện sau thỏa mãn:
- Nhân viên ở tầng 1
- Giấy phép đợc ký xác nhận bởi nhân viên ở cùng số phòng tầng dới
- Giấy phép đợc ký xác nhận bởi nhân viên ở phòng liền kề (phòng liền kề là phòng có chỉ số phòng sai khác 1)
Mỗi nhân viên khi ký xác nhận đều đòi hỏi một khoản lệ phí Hãy tìm cách xin đợc chữ ký kiến trúc s trởng với chi phí nhỏ nhất
Dữ liệu vào: File văn bản SIGN.INP, Dòng đầu chứa 2 số M, N
Dòng thứ i trong M dòng tiếp chứa N số ci j là chi phí phải trả cho nhân viên phòng j thuộc tầng i
Dữ liệu ra: File văn bản SIGN.OUT
Dòng đầu ghi 2 số F, K là chi phí phải trả và số phòng đi qua Các dòng tiếp theo ghi chỉ số các phòng đi qua, mỗi chỉ số ghi trên một dòng Ví dụ:
1 1
17) Đề số 17
Bài 1 Dò mìn
Cho một bãi mìn kích thớc mxn ô vuông, trên một ô có thể có chứa một quả mìn hoặc không, để biểu diễn bản đồ mìn đó, ngời ta có hai cách:
ã Cách 1: dùng bản đồ đánh dấu: sử dụng một lới ô vuông kích thớc mxn, trên đó tại ô (i, j) ghi số 1 nếu ô đó có mìn, ghi số 0 nếu ô đó không có mìn
ã Cách 2: dùng bản đồ mật độ: sử dụng một lới ô vuông kích thớc mxn, trên đó tại ô (i, j) ghi một số trong khoảng từ 0 đến 8 cho biết tổng số mìn trong các ô lân cận với ô (i, j) (ô lân cận với ô (i, j) là ô có chung với ô (i, j) ít nhất 1 đỉnh)
Giả thiết rằng hai bản đồ đợc ghi chính xác theo tình trạng mìn trên hiện trờng
Ví dụ: Bản đồ đánh dấu và bản đồ mật độ tơng ứng: (m = n = 10)
B
ả
n
đ
ồ
đ
á
n
h
d
ấ
u
Bản đồ mật độ
1 0 1 0 1 0 1 0 0 0 1 3 1 2 1 3 1 2 2 2
0 1 0 0 0 1 0 0 1 1 2 3 3 4 3 3 2 2 2 2
0 0 1 0 1 0 0 0 0 1 2 4 4 5 3 3 2 3 5 3
0 1 1 1 1 0 0 1 1 0 2 4 6 6 3 2 2 2 4 3
0 1 1 1 0 0 0 1 0 1 2 3 6 5 5 2 4 3 5 1
Trang 100 0 0 1 0 1 0 1 0 0 3 5 6 3 4 2 5 3 5 3
1 1 1 0 0 1 1 0 1 1 2 3 3 3 5 3 5 4 4 2
1 0 0 1 0 1 0 1 0 1 2 5 4 3 5 5 7 5 6 3
0 0 1 0 1 1 1 1 1 0 2 3 1 3 4 4 5 3 3 2
1 0 0 0 0 1 0 0 0 0 0 2 1 2 3 3 4 3 2 1
Về nguyên tắc, lúc cài bãi mìn phải vẽ cả bản đồ đánh dấu và bản đồ mật
độ, tuy nhiên sau một thời gian dài, khi ngời ta muốn gỡ mìn ra khỏi bãi thì
vấn đề hết sức khó khăn bởi bản đồ đánh dấu đã bị thất lạc !! Công việc của
các lập trình viên là: Từ bản đồ mật độ, hãy tái tạo lại bản đồ đánh dấu của bãi mìn
Dữ liệu: Vào từ file văn bản MINE.INP, các số trên 1 dòng cách nhau ít nhất 1 dấu cách
ã Dòng 1: Ghi 2 số nguyên dơng m, n (2 Ê m, n Ê 80)ð ð
ã m dòng tiếp theo, dòng thứ i ghi n số trên hàng i của bản đồ mật độ theo đúng thứ tự từ trái qua phải
Kết quả: Ghi ra file văn bản MINE.OUT, các số trên 1 dòng ghi cách nhau
ít nhất 1 dấu cách
ã Dòng 1: Ghi tổng số lợng mìn trong bãi
ã m dòng tiếp theo, dòng thứ i ghi n số trên hàng i của bản đồ đánh dấu theo đúng thứ tự từ trái qua phải
Ví dụ:
10 15
0 3 2 3 3 3 5 3 4 4 5 4 4 4 3
1 4 3 5 5 4 5 4 7 7 7 5 6 6 5
1 4 3 5 4 3 5 4 4 4 4 3 4 5 5
1 4 2 4 4 5 4 2 4 4 3 2 3 5 4
1 3 2 5 4 4 2 2 3 2 3 3 2 5 2
2 3 2 3 3 5 3 2 4 4 3 4 2 4 1
2 3 2 4 3 3 2 3 4 6 6 5 3 3 1
2 6 4 5 2 4 1 3 3 5 5 5 6 4 3
4 6 5 7 3 5 3 5 5 6 5 4 4 4 3
2 4 4 4 2 3 1 2 2 2 3 3 3 4 2
80
1 0 1 1 1 1 0 1 1 1 1 1 1 1 1
0 0 1 0 0 1 1 1 0 1 1 1 0 1 1
0 0 1 0 0 1 0 0 1 1 1 0 0 1 1
1 0 1 1 1 0 0 1 0 0 0 0 0 1 1
1 0 0 0 1 1 1 0 0 1 0 0 1 0 1
0 0 0 0 1 0 0 0 0 1 1 0 1 0 0
0 1 1 0 0 1 0 0 1 1 0 0 1 0 0
1 0 1 0 1 0 1 0 1 1 1 1 0 1 0
0 1 1 0 1 0 0 0 0 0 1 1 1 1 1
1 1 1 1 1 0 1 1 1 1 0 0 0 0 1
Bài 2 Tô màu lới
Một lới toạ độ gồm M dòng và N cột Gọi G là một tập hợp các điểm nào đó trên các mắt của lới Cần tô màu các điểm của G bằng 2 màu xanh, đỏ sao cho nhìn theo bất kỳ dòng nào cũng nh cột nào của lới, ta đều có số điểm màu xanh và màu đỏ hoặc bằng nhau, hoặc chênh nhau 1
Dữ liệu vào đợc cho trong một file văn bản LUOI.INP trong đó dòng đầu ghi các giá trị M, N (cách nhau ít nhất một dấu trắng), M dòng tiếp theo, mỗi dòng ghi thông tin một dòng của lới dới dạng một xâu nhị phân độ dài N (các
kí tự 0, 1 viết liền nhau), với quy ớc kí tự 1 ghi nhận vị trí của điểm của G và
kí tự 0 ghi nhận các vị trí còn lại
Kết quả cần đa ra file văn bản LUOI.OUT, trong đó dòng đầu ghi các giá trị M, N (cách nhau một dấu trắng), M dòng sau, mỗi dòng ghi một xâu
độ dài N gồm các kí tự 0, 1, 2 viết liền nhau với quy ớc: kí tự 1 ghi nhận vị trí các điểm xanh, kí tự 2 ghi nhận vị trí các điểm đỏ, kí tự 0 ghi nhận các vị trí khác