01/10/2018, 16:00

Hỏi bài tập đếm số ô an toàn trong bảng

Xét ví dụ sau:
Ở ví dụ trên ta có: n = 5 (Vì có 5 pháo đài)
row = [0,1,1,2,5]
col = [0,1,3,3,6]
Tức là trong 5 pháo đài:
1 Pháo đài nằm ở hàng 0, cột 0
1 Pháo đài nằm ở hàng 1, cột 1
1 Pháo đài nằm ở hàng 1, cột 3
1 Pháo đài nằm ở hàng 2, cột 3
1 Pháo đài nằm ở hàng 5, cột 6
Mỗi pháo đài có thể bắn theo 4 hướng, các vị trí được tô màu đỏ là vùng nguy hiểm
do nằm trong tầm bắn của các pháo đài.
Các ô màu xanh là các vùng an toàn, nhiệm vụ của ta là đếm số ô màu xanh này.
Vậy kết quả xuất ra màn hình:
16

mọi người cho mình xin giải thuật bài này

Aragami1408 viết 18:01 ngày 01/10/2018

Theo mình cái này hơi giống thuật toán trò Minesweeper. Bạn có thể xem video làm trò chơi đấy của họ trên youtube! Rồi follow nó làm tương tự

Nam viết 18:08 ngày 01/10/2018
n = int(input())
row = []
col = []
for i in range(n):
   row.append(int(input('nhap hang: ')))
   col.append(int(input('nhap cot: ')))
count_row=1
count_col=1
for i in range(n-1):
	if row[i]!=row[i+1]:
		count_row+=1
	if col[i]!=col[i+1]:
		count_col+=1
print(count_col)

print("\n",count_row)
print(int((8-count_row)*(8-count_col)))

mình có tham khảo code nhưng vẫn chưa hiểu lắm không biết tại sao như thế nữa

Aragami1408 viết 18:13 ngày 01/10/2018

xem video này nhé bạn!

Bài liên quan
0