-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
Description
FORTRESS self review 
1. ํด๊ฒฐ ์๋ ๊ณผ์
์ฐ์ ์ฑ๋ฒฝ์ ํฌํจ๊ด๊ณ๋ฅผ ํ์
ํ๊ธฐ ์ํ enclose ํจ์๋ฅผ ์์ฑํ์๊ณ ,
์ด๋ฅผ ํ์ฉํด ํธ๋ฆฌ๊ฐ ์๋ก ์ฐ๊ฒฐ๋์๋์ง ํ์
ํ๋ ํจ์๊น์ง๋ ๊ตฌํ์ด ๊ฐ๋ฅํ๋
ํธ๋ฆฌ์ ๋ถ๋ชจ์์ ๊ด๊ณ ๋ถ๋ถ์ ์ด๋ป๊ฒ ํด๊ฒฐํด์ผ ํ๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
2. ์์ฑํ ์ฝ๋์ ์ค๋ช
ํ๋จ์ ํจ์๋ ์ฑ๋ฒฝ์ ํฌํจ๊ด๊ณ๋ฅผ ํ์ ํ๋ ํจ์์ด๊ณ
#์ฑ๋ฒฝ a๊ฐ b๋ฅผ ํฌํจํ๋์ง ํ์ธ
def enclose(a,b):
#a์ b์ ๊ฑฐ๋ฆฌ(๋ฃจํธ์ฐ์ฐ ์ )
dist=(a[0]-b[0])**2 + (a[1]-b[1])**2
#๋ฐ์ง๋ฆ์ ๊ธธ์ด(๋ฃจํธ์ฐ์ฐ ์ )
r_dist=a[2]**2
if r_dist>dist:
return Trueํ๋จ์ ํจ์๋ ์๋จ์ ํจ์๋ฅผ ํ์ฉํด ๋ ์ฑ๋ฒฝ์ด ์ฐ๊ฒฐ๋์๋์ง ํ์ธํ๋ ํจ์ ์ ๋๋ค.
def isChild(parent,child):
if enclose(wall[parent],wall[child]):
if isChild(parent,child)==False:
connect[child]=True
return True
return False3. ๋งํ ์ ๋ฐ ๊ฐ์ ์ฌํญ
ํธ๋ฆฌ์ ๋ถ๋ชจ์์ ๊ด๊ณ๋ฅผ ํด๊ฒฐํด์ผํ ๊ฒ ๊ฐ์ต๋๋ค.