Kata Minesweeper

kata minesweeper
Want create site? Find Free WordPress Themes and plugins.

Cấp độ của Kata: Dễ

Mô tả bài toán

Bạn đã từng chơi Minesweeper chưa? Đó là một game nhỏ rất thú vị được cung cấp kèm theo một hệ điều hành mà tôi cũng không còn nhớ nổi tên nữa. Mục tiêu của trò chơi là tìm ra tất cả các quả mìn trong một khu vực có kích thước M x N. Để giúp bạn, trò chơi cho hiển thị ở mỗi ô vuông số mìn ở các ô liền kề. Ví dụ, một khu vực có kích thước 4 × 4 chứa 2 quả mìn (mìn được biểu diễn bằng kí tự *) như sau:

               *...
               ....
               .*..
               ....

Nếu chúng ta muốn thể hiện các con số để gợi ý số mìn cho khu vực trên, chúng ta sẽ có kết quả sau:

               *100
               2210
               1*10
               1110

Bạn cần viết một chương trình sử dụng đầu vào như sau:

Đầu vào cho phép tùy chọn số lượng bãi mìn và kích thước vùng chứa mìn (bãi mìn).

Dòng đầu tiên nhập 2 số nguyên n và m (0<n, m<=100), tương ứng là chiều dài và chiều rộng (số hàng, số cột) của bãi mìn.

Căn cứ vào giá trị của n, nhập mỗi hàng (trong số n hàng) m ký tự biểu diễn cho mỗi ô của bãi mìn (n x m). Ô an toàn (không chứa mìn) nhập ký tự “.” (dấu chấm) và ô chứa mìn nhập vào kí tự “*” (dấu hoa thị).

Chương trình sẽ ngừng nhập dữ liệu đầu vào và không xử lý gì thêm nếu nhập giá trị 0 cho n và m.

Sau khi nhập dữ liệu xong chương trình sẽ cho kết quả đầu ra như sau.

Với mỗi bãi mìn, đầu tiên bạn sẽ in ra dòng thông báo như sau:

          Bãi mìn #x:

Trong đó x là số thứ tự của bãi mìn (bắt đầu từ 1, số lượng bãi mìn phụ thuộc dữ liệu đầu vào). Và n dòng tiếp theo các kí tự “.” được thay thế bằng số lượng mìn xung quanh ô đó. Các bãi mìn phân cách nhau bằng một dòng trắng.

Ví dụ:

Đầu vào:

              4 4
              *...
              ....
              .*..
              ....
              3 5
              **...
              .....
              .*...
              0 0

Đầu ra:

              Bãi mìn #1:
              *100
              2210
              1*10
              1110

              Bãi mìn #2:
              **100
              33200
              1*100

Nguồn Kata: http://codingdojo.org/kata/Minesweeper/

Did you find apk for android? You can find new Free Android Games and apps.

Bình luận

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *