2021-12-05 10:11:11 +01:00
|
|
|
function readline()
|
|
|
|
local x1 = io.read("*n")
|
|
|
|
io.read(1) -- ","
|
|
|
|
local y1 = io.read("*n")
|
|
|
|
io.read(4) -- " -> "
|
|
|
|
local x2 = io.read("*n")
|
|
|
|
io.read(1) -- ","
|
|
|
|
local y2 = io.read("*n")
|
|
|
|
io.read("*l") -- "...\n"
|
|
|
|
return x1, y1, x2, y2
|
|
|
|
end
|
|
|
|
|
2021-12-05 11:48:31 +01:00
|
|
|
function mark(field, x, y)
|
|
|
|
local row = field[x] or {}
|
|
|
|
row[y] = (row[y] or 0) + 1
|
|
|
|
field[x] = row
|
|
|
|
end
|
|
|
|
|
|
|
|
function sign(n)
|
|
|
|
if n == 0 then return 0
|
|
|
|
elseif n < 0 then return -1
|
|
|
|
else return 1
|
2021-12-05 10:11:11 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
io.input(arg[3])
|
|
|
|
local x1, y1, x2, y2 = readline()
|
|
|
|
local field = {}
|
|
|
|
while x1 ~= nil do
|
2021-12-05 11:48:31 +01:00
|
|
|
local x, y, dx, dy = x1, y1, sign(x2 - x1), sign(y2 - y1)
|
|
|
|
mark(field, x, y)
|
|
|
|
while x ~= x2 or y ~= y2 do
|
|
|
|
x, y = x + dx, y + dy
|
|
|
|
mark(field, x, y)
|
2021-12-05 10:11:11 +01:00
|
|
|
end
|
|
|
|
x1, y1, x2, y2 = readline()
|
|
|
|
end
|
|
|
|
|
|
|
|
local count = 0
|
|
|
|
for r, row in pairs(field) do
|
|
|
|
for c, col in pairs(row) do
|
|
|
|
if col >= 2 then
|
|
|
|
count = count + 1
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
print(count)
|