You are on page 1of 2

BÀI TẬP ĐỘI TUYỂN 7

Bài tập 1: Đếm đảo


Một bản đồ biển đảo có kích thước mxn (1 < m, n <=100), trong đó ô chứa số 0 là một đơn vị mặt
nước biển, ô chứa số 1 là một đơn vị diện tích đất thuộc một đảo, các ô số 1 chung cạnh thì đều thuộc
cùng một đảo nào đó. Cho bản đồ biển đảo hãy đếm xem có bao nhiêu đảo trên bản đồ đã cho.
Dữ liệu vào file DEMDAO.INP: Dòng đầu là 2 số m, n; m dòng tiếp theo thể hiện bản đồ đã cho.
Kết quả ra file DEMDAO.OUT: Số lượng đảo của bản đồ.
Ví dụ:

DEMDAO.INP DEMDAO.OUT
45 2
01000
01100
00011
00110

Bài tập 2: Bồn hoa


Có một mảnh đất hình chữ nhật được chia thành các ô vuông, trên mỗi dòng có N ô và trên mỗi
cột có M ô (1<M,N<=100). Trên đó người ta xây dựng các bồn hoa, mỗi bồn hoa bao gồm các ô liên kết
với nhau. Hai ô cùng nằm trên một bồn hoa nếu chúng có cùng chung cạnh. Hãy xác định diện tích và chu
vi của bồn hoa lớn nhất (mỗi ô vuông là một đơn vị đo diện tích, mỗi cạnh của ô vuông là một đơn vị đo
chiều dài).
Dữ liệu vào file BONHOA.INP gồm:
- Dòng đầu tiên là hai số nguyên dương M và N cách nhau một khoảng trống.
- M dòng tiếp theo mỗi dòng ghi N số nguyên dương 0 hoặc 1, giữa hai số cách nhau một khoảng
trống. Tại dòng i, số thứ j được ghi: + Số 0 nếu ô ở dòng i, cột j không nằm trong bồn hoa nào.
+ Số 1 nếu ô ở dòng i, cột j nằm trong bồn hoa nào đó.
Kết quả ra file BONHOA.OUT ghi hai số diện tích lớn nhất và chu vi lớn nhất của bồn hoa nào
đó.
Ví dụ:
BONHOA.INP BONHOA.OUT Có nghĩa là
7 10 10 0 1 1 1 0 0 0 0 1 1
0111000011 18 1 1 1 0 0 0 0 0 0 1
1110000001
0111101110 0 1 1 1 1 0 1 1 1 0
0000000100 0 0 0 0 0 0 0 1 0 0
0011000000 0 0 1 1 0 0 0 0 0 0
0111011100 0 1 1 1 0 1 1 1 0 0
0010010001
0 0 1 0 0 1 0 0 0 1
Bài 3: RECTANGLE
Trên giấy kẻ ô khổ NxN có vẽ một số hình chữ nhật. Mỗi hình chữ nhật được tạo từ các ô
nguyên vẹn, các hình chữ nhật khác nhau không chồng lên nhau và không tiếp xúc nhau. (Ví dụ
hình vẽ dưới đây có 4 hình chữ nhật)
Cho mảng có kích thước NxN, trong đó A[i,j]=1 nếu ô [i,j]
thuộc một hình chữ nhật nào đó, còn A[i,j]=0 trong trường hợp
ngược lại.
Hãy viết chương trình tính và cho biết số các hình chữ nhật.
Dữ liệu vào file RECT.INP có cấu trúc như sau:
- Dòng đầu tiên ghi số nguyên dương n (n<=250)
- N dòng tiếp theo mỗi dòng ghi N số 0 hoặc 1 là các phần tử
của mảng. Mỗi số viết cách nhau ít nhất một khoảng trắng.
Kết quả ra file RECT.OUT gồm một số duy nhất là số hình
chữ nhật tìm được.
Ví dụ:
RECT.INP RECT.OUT
8 4
10000000
00111000
10111000
10111000
00000000
01001110
01101110
00000000

Bài 4: Đếm vùng: Cho ma trận kích thước m x n (2<=m,n<=100) các giá trị của ma trận là số
nguyên dương hãy đếm các vùng là số nguyên tố của ma trận (các số nguyên tố được coi là cùng
một vùng nếu chúng nằm cạnh nhau theo hướng ngang hoặc dọc)?
Dữ liệu vào file DEMVUNG.inp dòng đầu là 2 số m và n cách nhau một dấu cách m dòng
tiếp theo là các giá trị của ma trận.
Kết quả ra file DEMVUNG.out số vùng nguyên tố của ma trận trên.
Ví dụ:
DEMVUNG.inp DEMVUNG.out
5 5 3
23453
56872
37653
34574
27693
Bài 5: Bảng số
Cho trước bảng số A gồm m hàng, n cột. Mỗi ô trong bảng số chứa một số nguyên dương gọi là
giá trị của ô. Tất cả các ô (ít nhất là 2 ô) có cùng giá trị, kề cạnh hoặc kề đỉnh tạo thành một vùng
số. Số lượng ô trong một vùng số gọi là diện tích của vùng số đó.
Yêu cầu: Tính số lượng vùng số có trong bảng A và diện tích của vùng số lớn nhất.
Dữ liệu: Vào từ tệp văn bản VUNGSO.INP:
- Dòng đầu chứa hai số nguyên dương m, n, mỗi số không vượt quá 100;
- Trong m dòng tiếp theo, mỗi dòng chứa n số nguyên dương, mỗi số không vượt quá 100.
Kết quả: Ghi ra tệp văn bản VUNGSO.OUT:
- Dòng đầu ghi số lượng các vùng số có trong bảng A;
- Dòng thứ hai ghi diện tích của vùng số lớn nhất.
Ví dụ:
VUNGSO.INP VUNGSO.OUT Giải thích
5 6 8 Có 8 vùng số gồm: 2 vùng số 1; 1
1 2 1 4 5 4 5 vùng số 2; 2 vùng số 3; 2 vùng số 4;
1 3 1 4 5 4 1 vùng số 5. Trong 8 vùng số trên,
3 1 2 3 3 4 diện tích vùng số lớn nhất là 5.
2 2 4 5 3 3
2 2 3 2 1 1

_________________________________________________________________

You might also like