trang chủ / bài tập / replicat

Replication

Đề bài

Mô tả

Một robot tự nhân bản được đặt trên lưới N×N chứa đá và ô trống. Robot bắt đầu tại các ô được đánh dấu 'S'. Mỗi giờ, robot có thể di chuyển theo 4 hướng (tất cả bản sao cùng di chuyển). Cứ mỗi D giờ, mỗi robot tạo ra bản sao tại 4 ô kề (bản gốc vẫn ở vị trí cũ). Nếu robot hoặc bản sao đi vào ô có đá, tất cả đều tắt.

Đếm số ô trống có thể chứa robot tại một thời điểm nào đó.

Dữ liệu vào

  • Dòng 1: hai số nguyên ND
  • N dòng tiếp theo: mỗi dòng N ký tự mô tả lưới
    • '.' hoặc 'S' = ô trống (S = vị trí bắt đầu)
    • '#' = đá
    • Tất cả ô biên là đá

Dữ liệu ra

Một số nguyên duy nhất - số ô có thể chứa robot.

Ràng buộc

  • 3N1000
  • 1D109

Ví dụ

Input Output Giải thích
10 1
##########
#........#
#S.......#
#........#
##########
#S....S..#
##########
##########
##########
##########
15 Với D=1, robot nhân bản mỗi giờ nên chỉ di chuyển được giới hạn trước khi nhân bản vượt quá vùng trống.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0