Battleship — tìm ô tối ưu

Đề bài

Mô tả

Arkady đang chơi cờ Battleship trên một bàn cờ n×n. Có đúng một con tàu kích thước k ô (gọi là k-decker) đặt trên bàn cờ — tàu chiếm k ô liên tiếp theo hàng ngang hoặc hàng dọc, nhưng Arkady không biết tàu nằm ở đâu.

Mỗi ô của bàn cờ là một trong hai loại:

  • # — ô được biết là trống (không thể chứa phần nào của tàu).
  • . — ô có thể chứa một phần của tàu.

Xét mọi vị trí khả dĩ của con tàu (tức là mọi cách đặt k ô liên tiếp theo hàng hoặc theo cột sao cho tất cả k ô đó đều là .). Hãy tìm một ô thuộc về nhiều vị trí khả dĩ của con tàu nhất.

Nếu có nhiều ô cùng đạt số vị trí lớn nhất, in ra bất kỳ ô nào trong số đó. Đặc biệt, nếu không có vị trí nào hợp lệ cho con tàu, in ra bất kỳ ô nào của bàn cờ.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nk — kích thước bàn cờ và độ dài con tàu.
  • n dòng tiếp theo, mỗi dòng chứa n ký tự # hoặc . mô tả bàn cờ.

Dữ liệu ra

In ra hai số nguyên — chỉ số hàngcột (đánh số từ 1) của ô được chọn.

Ràng buộc

  • 1kn100

Ví dụ

Input Output Giải thích
4 3
#..#
#.#.
....
.###
3 2 3 vị trí khả dĩ của tàu kích thước 3: hàng ngang ở hàng 3 cột 1..3, hàng ngang ở hàng 3 cột 2..4, và hàng dọc ở cột 2 hàng 2..4. Ô (3,2) thuộc cả ba vị trí.
2 2
#.
.#
1 1 Không có 2 ô liền nhau cùng là ., nên không có vị trí khả dĩ nào — in ra bất kỳ ô nào của bàn cờ.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0