解答(ミナミ)
#!/usr/bin/env ruby
file = $stdin
lines = file.readlines
file.close
x, y = lines[0].split.map{|a| a.to_i}
t = lines[1, y].map{|b| b.split.map{|a| a.to_i}}
count_list = []
for i in 0..x - 1
count = 0
for j in 0..y - 1
count += 1 if t[j][i] == 1
end
count_list += [count]
end
for j in 0..y - 1
line = ""
for i in 0..x - 1
c = count_list[i] > y - 1 - j ? 1 : 0
line += c.to_s + " "
end
puts line.rstrip
end
解答(レナ)
#!/usr/bin/env ruby
file = $stdin
lines = file.readlines
file.close
x, y, n = lines[0].split.map{|a| a.to_i}
t = lines[1, y].map{|b| b.split.map{|a| a.to_i}}
rects = lines[y + 1, n].map{|b| b.split.map{|a| a.to_i}}
sum = 0
for rect in rects
for pos_y in (rect[1] - 1)..(rect[3] - 1)
for pos_x in (rect[0] - 1)..(rect[2] - 1)
sum += t[pos_y][pos_x]
t[pos_y][pos_x] = 0
end
end
end
puts sum
コードの覚え書き
解説を読んでのメモ