Submission #885000


Source Code Expand

r, c, k = gets.split.map(&:to_i)

k -= 1

queue = []
min_dist = Array.new(r) { Array.new(c, r * c) }

r.times do |i|
  s = gets.chomp
  c.times do |j|
    if s[j] == 'x'
      queue << [i, j]
      min_dist[i][j] = 0
    end
  end
end

# dy = [1, -1, 0, 0]
# dx = [0, 0, 1, -1]
dxy = [[1, 0], [0, 1], [-1, 0], [0, -1]]
until queue.empty? do
  y, x = queue.shift
  # 4.times do |i|
  dxy.each do |dy, dx|
    ny = y + dy
    nx = x + dx
    # ny = y + dy[i]
    # nx = x + dx[i]
    # next unless ny.between?(0, r - 1)
    # next unless nx.between?(0, c - 1)
    next unless 0 <= ny && ny < r
    next unless 0 <= nx && nx < c
    next unless min_dist[ny][nx] > min_dist[y][x] + 1
    min_dist[ny][nx] = min_dist[y][x] + 1
    next unless min_dist[ny][nx] < k
    queue << [ny, nx]
  end
end

ans = 0
# for i in k...(r - k) do
#   for j in k...(c - k) do
#     ans += 1 if min_dist[i][j] > k
#   end
# end

for i in k...(r - k) do
  ans += min_dist[i][k...(c - k)].count { |v| v > k }
end

puts ans

Submission Info

Submission Time
Task C - 菱型カウント
User purple_jwl
Language Ruby (1.9.3)
Score 30
Code Size 1049 Byte
Status TLE
Exec Time 2039 ms
Memory 8572 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 0 / 70
Status
AC × 3
AC × 23
AC × 41
TLE × 2
Set Name Test Cases
Sample subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.txt
Subtask1 subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt
Subtask2 subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt, subtask2-01.txt, subtask2-02.txt, subtask2-03.txt, subtask2-04.txt, subtask2-05.txt, subtask2-06.txt, subtask2-07.txt, subtask2-08.txt, subtask2-09.txt, subtask2-10.txt, subtask2-11.txt, subtask2-12.txt, subtask2-13.txt, subtask2-14.txt, subtask2-15.txt, subtask2-16.txt, subtask2-17.txt, subtask2-18.txt, subtask2-19.txt, subtask2-20.txt
Case Name Status Exec Time Memory
subtask0-sample01.txt AC 46 ms 4336 KB
subtask0-sample02.txt AC 47 ms 4208 KB
subtask0-sample03.txt AC 53 ms 4328 KB
subtask1-01.txt AC 47 ms 4208 KB
subtask1-02.txt AC 47 ms 4208 KB
subtask1-03.txt AC 47 ms 4208 KB
subtask1-04.txt AC 48 ms 4208 KB
subtask1-05.txt AC 51 ms 4336 KB
subtask1-06.txt AC 49 ms 4332 KB
subtask1-07.txt AC 50 ms 4336 KB
subtask1-08.txt AC 65 ms 4252 KB
subtask1-09.txt AC 51 ms 4332 KB
subtask1-10.txt AC 58 ms 4332 KB
subtask1-11.txt AC 52 ms 4332 KB
subtask1-12.txt AC 53 ms 4320 KB
subtask1-13.txt AC 52 ms 4336 KB
subtask1-14.txt AC 50 ms 4336 KB
subtask1-15.txt AC 53 ms 4336 KB
subtask1-16.txt AC 50 ms 4332 KB
subtask1-17.txt AC 49 ms 4336 KB
subtask1-18.txt AC 46 ms 4332 KB
subtask1-19.txt AC 48 ms 4336 KB
subtask1-20.txt AC 49 ms 4336 KB
subtask2-01.txt AC 175 ms 4844 KB
subtask2-02.txt AC 1491 ms 5360 KB
subtask2-03.txt AC 52 ms 4328 KB
subtask2-04.txt AC 250 ms 4972 KB
subtask2-05.txt AC 313 ms 6252 KB
subtask2-06.txt AC 370 ms 6252 KB
subtask2-07.txt TLE 2038 ms 7524 KB
subtask2-08.txt AC 298 ms 6244 KB
subtask2-09.txt AC 1128 ms 6252 KB
subtask2-10.txt AC 1538 ms 8572 KB
subtask2-11.txt AC 1051 ms 6384 KB
subtask2-12.txt AC 508 ms 6256 KB
subtask2-13.txt AC 716 ms 6252 KB
subtask2-14.txt AC 285 ms 6248 KB
subtask2-15.txt AC 282 ms 6252 KB
subtask2-16.txt TLE 2039 ms 8568 KB
subtask2-17.txt AC 1521 ms 6696 KB
subtask2-18.txt AC 1330 ms 6512 KB
subtask2-19.txt AC 1282 ms 6504 KB
subtask2-20.txt AC 500 ms 6256 KB