๐ณ ๋งํฌ
๐ ๋ฌธ์
๋๊ทผ์ด๋ ๋ฌด์ธ ๊ฒฝ๋น ํ์ฌ ๊ฒฝ๋น์์ผ๋ก ํญ์ ๋๊ธฐํ๊ณ ์๋ค๊ฐ ํธ์ถ์ด ๋ค์ด์ค๋ฉด ๊ฒฝ๋น์ฐจ๋ฅผ ๋ชฐ๊ณ ๊ทธ ๊ณณ์ผ๋ก ๋ฌ๋ ค๊ฐ์ผ ํ๋ค. ๋๊ทผ์ด๊ฐ ๋ด๋นํ๊ณ ์๋ ๊ณณ์ ์ง์ฌ๊ฐํ ๋ชจ์์ ๋ธ๋ก์ผ๋ก ๋ธ๋ก ์ค๊ฐ์ ๊ฐ๋ก์ง๋ฌ ์ฐจ๊ฐ ํต๊ณผํ ๋งํ ๊ธธ์ด ์๋ค. ์ด ๋ธ๋ก ๊ฒฝ๊ณ์ ๋ฌด์ธ ๊ฒฝ๋น๋ฅผ ์๋ขฐํ ์์ ๋ค์ด ์๋ค.
์๋ฅผ ๋ค์ด ๊ฐ๋ก์ ๊ธธ์ด๊ฐ 10, ์ธ๋ก์ ๊ธธ์ด๊ฐ 5์ธ ๋ธ๋ก์ ๊ฒฝ๊ณ์ ๋ฌด์ธ ๊ฒฝ๋น๋ฅผ ์๋ขฐํ 3๊ฐ์ ์์ ์ด ์๋ค๊ณ ํ์. <๊ทธ๋ฆผ 1>๊ณผ ๊ฐ์ด ์ด๋ค์ 1, 2, 3์ผ๋ก ํ์๋์ด ์๊ณ , ๋๊ทผ์ด๋ X๋ก ํ์ํ ์์น์ ์๋ค.
1๋ฒ ์์ ์์ ํธ์ถ์ด ๋ค์ด ์์ ๋ ๋๊ทผ์ด๊ฐ ๋ธ๋ก์ ์๊ณ๋ฐฉํฅ์ผ๋ก ๋์ ์ด๋ํ๋ฉด ์ด๋ ๊ฑฐ๋ฆฌ๊ฐ 12๊ฐ ๋๋ค. ๋ฐ๋ฉด ๋ฐ์๊ณ๋ฐฉํฅ์ผ๋ก ๋์ ์ด๋ํ๋ฉด ์ด๋ ๊ฑฐ๋ฆฌ๋ 18์ด ๋๋ค. ๋ฐ๋ผ์ ๋๊ทผ์ด๊ฐ 1๋ฒ ์์ ์ผ๋ก ๊ฐ๋ ์ต๋จ ๊ฑฐ๋ฆฌ๋ 12๊ฐ ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ๋๊ทผ์ด์ ์์น์์ 2๋ฒ ์์ ๊น์ง์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ 6, 3๋ฒ ์์ ๊น์ง์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ 5๊ฐ ๋๋ค.
๋ธ๋ก์ ํฌ๊ธฐ์ ์์ ์ ๊ฐ์ ๋ฐ ์์น ๊ทธ๋ฆฌ๊ณ ๋๊ทผ์ด์ ์์น๊ฐ ์ฃผ์ด์ง ๋ ๋๊ทผ์ด์ ์์น์ ๊ฐ ์์ ์ฌ์ด์ ์ต๋จ ๊ฑฐ๋ฆฌ์ ํฉ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๐พ ํ์ด ๋ฐฉ๋ฒ
๊ฒ๋ ์ฌ์ด ๋ฌธ์ ๊ฐ์์ง๋ง... ์๊ทผํ ์ด๋ ค์ ๋ค ๐
์
๋ ฅ์ด ๋ค์๊ณผ ๊ฐ์ด ์ฃผ์ด์ง๋๋ฐ,
10 5 #๊ฐ๋ก ์ธ๋ก
3 #์์ ์ ๊ฐ์
1 4 #๋ฐฉํฅ, ๊ฑฐ๋ฆฌ
3 2 #๋ฐฉํฅ, ๊ฑฐ๋ฆฌ
2 8
2 3 #๋๊ทผ์ด์ ๋ฐฉํฅ, ๊ฑฐ๋ฆฌ
์ด ๋ฌธ์ ๋ ์ ๋ ฅ์ ๋ํ ์ค๋ช ์ด ์ค์ํด์ ๊ฐ์ ธ์๋ณด์๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ธ๋ก์ ๊ฐ๋ก์ ๊ธธ์ด์ ์ธ๋ก์ ๊ธธ์ด๊ฐ ์ฐจ๋ก๋ก ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์ ์์ ์ ๊ฐ์๊ฐ ์ฃผ์ด์ง๋ค. ๋ธ๋ก์ ๊ฐ๋ก์ ๊ธธ์ด์ ์ธ๋ก์ ๊ธธ์ด, ์์ ์ ๊ฐ์๋ ๋ชจ๋ 100์ดํ์ ์์ฐ์์ด๋ค. ์ด์ด ํ ์ค์ ํ๋์ฉ ์์ ์ ์์น๊ฐ ์ฃผ์ด์ง๋ค. ์์ ์ ์์น๋ ๋ ๊ฐ์ ์์ฐ์๋ก ํ์๋๋ค. ์ฒซ์งธ ์๋ ์์ ์ด ์์นํ ๋ฐฉํฅ์ ๋ํ๋ด๋๋ฐ, 1์ ๋ธ๋ก์ ๋ถ์ชฝ, 2๋ ๋ธ๋ก์ ๋จ์ชฝ, 3์ ๋ธ๋ก์ ์์ชฝ, 4๋ ๋ธ๋ก์ ๋์ชฝ์ ์์ ์ด ์์์ ์๋ฏธํ๋ค. ๋์งธ ์๋ ์์ ์ด ๋ธ๋ก์ ๋ถ์ชฝ ๋๋ ๋จ์ชฝ์ ์์นํ ๊ฒฝ์ฐ ๋ธ๋ก์ ์ผ์ชฝ ๊ฒฝ๊ณ๋ก๋ถํฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ํ๋ด๊ณ , ์์ ์ด ๋ธ๋ก์ ๋์ชฝ ๋๋ ์์ชฝ์ ์์นํ ๊ฒฝ์ฐ ๋ธ๋ก์ ์์ชฝ ๊ฒฝ๊ณ๋ก๋ถํฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ํ๋ธ๋ค. ๋ง์ง๋ง ์ค์๋ ๋๊ทผ์ด์ ์์น๊ฐ ์์ ์ ์์น์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ฃผ์ด์ง๋ค. ์์ ์ ์์น๋ ๋๊ทผ์ด์ ์์น๋ ๋ธ๋ก์ ๊ผญ์ง์ ์ด ๋ ์ ์๋ค.
๋ณผ๋๋ก ๋ ๋ถ๋ถ๋ง ์ ๋๋ก ์ดํดํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.
๋จผ์ , ๋ฐฉํฅ(1,2,3,4)์ ๋ฐ๋ผ ๊ฑฐ๋ฆฌ๋ฅผ ํ ๋นํด์ผํ๋ค.
์ฒ์ ๋ณด๋ฉด ์ดํด๊ฐ ์๋ ์๋ ์์ง๋ง.. ์ต๋ํ ์ ์ค๋ช
ํด๋ณด๋๋ก ๋
ธ๋ ฅ....
์ ์ด๋ฏธ์ง์ฒ๋ผ ๊ฐ ๋ฐฉํฅ์ ๋ฐ๋ผ ๊ฑฐ๋ฆฌ๋ฅผ ํ ๋นํ๋ค. ๊ฑฐ๋ฆฌ๋ฅผ ํ ๋นํ๋ค๋ ๊ฒ์ ์๋ฏธ๋ ๋ค์ ์ด๋ฏธ์ง๋ฅผ ๋ณด๋ฉด ๋ ์ดํด๊ฐ ์ ๋ ๊ฒ์ด๋ฏ๋ก ์ผ๋จ์ ๋์ด๊ฐ๋ณด์..
๊ฑฐ๋ฆฌ ๊ณ์ฐ์ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ํ ๊ฒ์ด๋ค.
์ด๊ฒ ๋ฌด์จ ๋ป์ด๋ ํ๋ฉด์!
๋๊ทผ์ด๊ฐ 1๋ฒ ๋ฐฉํฅ์ ์์นํด์๊ณ , ์์ ์ด 2๋ฒ ๋ฐฉํฅ์ ์์นํด์๋ ๊ฒฝ์ฐ
์ฒซ๋ฒ์งธ ๊ทธ๋ฆผ์ ์ฐธ๊ณ ํ๋ค๋ฉด ๋๊ทผ์ด์ ๊ฑฐ๋ฆฌ ํ ๋น์ (1) ๊ณผ ๊ฐ์ด ๋๊ณ , ์์ ์ ๊ฑฐ๋ฆฌ ํ ๋น์ (2)์ ๊ฐ์ด ๋๋ค.
๋ฐ๋ผ์ ๋ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ ์ฒซ๋ฒ์งธ๋ก (3)์ ๋
ธ๋ ํ๊ดํ๊ณผ ๊ฐ์ ๊ฒฝ์ฐ, ์ฆ abs((1)-(2))
์ ๊ฐ๋ค. ๋๋ฒ์งธ๋ก๋ (4)์ ๋
ธ๋ ํ๊ดํ๊ณผ ๊ฐ์ ๊ฒฝ์ฐ๋ก 1์์ ๊ตฌํ ๊ฑฐ๋ฆฌ๋ฅผ ์ ์ฒด ๋ค๋ชจ์ ๋๋ ์์ ๋นผ์ค๋ค.
์์ธํ ์ค๋ช
์ ๋ง๋ถ์ด์๋ฉด,
์ฐ๋ฆฌ๋ ์ ์ฒด ๋ค๋ชจ์์ ๊ฐ ์ ๋ค ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํด์ผํ๋ค. ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ ๋์๋ ๋ ๊ฐ์ง ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ๋ค. ๊ฐ๊น์ด์ชฝ, ๋จผ์ชฝ (์ด์ฉ๋ฉด ๊ฐ์ ์๋ ์๊ฒ ์ง๋ง). ๋ ๊ฐ์ง๋ฅผ ํฉ์ณ์ ํ๋์ ๋ค๋ชจ๋ฅผ ๋ง๋ ๋ค๊ณ ์๊ฐํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.
๋ฐ๋ผ์ ๊ฐ ๊ฒฝ์ฐ(๋๊ทผ, ๊ทธ๋ฆฌ๊ณ ๊ฐ ์์ )์ ๋ํด์ ๊ฐ๊ฐ ๊ฑฐ๋ฆฌ ํ ๋น์ ํ๋ค, ๊ทธ ๊ฑฐ๋ฆฌ๋ค์ ์ฐจ (path1)
์ ์ ์ฒด ๋๋ - path1
ํ ๊ฒฝ์ฐ ์ค ๋ ์งง์ ๊ฑฐ๋ฆฌ๋ฅผ ์ ์ฒด total์ ๋์ ํฉ ํด์ฃผ๋ ๊ฒ์ด๋ค..!!!
์์ค์ฝ๋
import sys
sys.stdin = open("input.txt","rt")
width, height = map(int,sys.stdin.readline().split())
n = int(sys.stdin.readline().strip())
store = list()
def calcDist(dir,dist):
if dir == 1:
return dist
elif dir == 2:
return width + height + (width - dist)
elif dir == 3:
return width + height + width + (height - dist)
else:
return width + dist
for _ in range(n+1):
if _ == n:
direction, distance = map(int,sys.stdin.readline().split())
else:
store.append(list(map(int,sys.stdin.readline().split())))
total = 0
dist1 = calcDist(direction, distance) #๋๊ทผ์ด์ ๊ฑฐ๋ฆฌ
for i in range(n):
dist2 = calcDist(store[i][0], store[i][1]) #์์ ์ ๊ฑฐ๋ฆฌ
path1 = abs(dist1 - dist2)
path2 = 2 * width + 2 * height - path1
total += path1 if path1 < path2 else path2
print(total)