๐ ๋ฌธ์
๋์ดํธ ํฌ์ด๋ ์ฒด์คํ์์ ๋์ดํธ๊ฐ ๋ชจ๋ ์นธ์ ์ ํํ ํ ๋ฒ์ฉ ๋ฐฉ๋ฌธํ๋ฉฐ, ๋ง์ง๋ง์ผ๋ก ๋ฐฉ๋ฌธํ๋ ์นธ์์ ์์์ ์ผ๋ก ๋์์ฌ ์ ์๋ ๊ฒฝ๋ก์ด๋ค. ๋ค์ ๊ทธ๋ฆผ์ ๋์ดํธ ํฌ์ด์ ํ ์์ด๋ค.
์์์ด๋ 6×6 ์ฒด์คํ ์์์ ๋ ๋ค๋ฅธ ๋์ดํธ ํฌ์ด์ ๊ฒฝ๋ก๋ฅผ ์ฐพ์ผ๋ ค๊ณ ํ๋ค. ์ฒด์คํ์ ํ ์นธ์ A, B, C, D, E, F ์ค์์ ํ๋์ 1, 2, 3, 4, 5, 6 ์ค์์ ํ๋๋ฅผ ์ด์ด ๋ถ์ธ ๊ฒ์ผ๋ก ๋ํ๋ผ ์ ์๋ค. ์์์ด์ ๋์ดํธ ํฌ์ด ๊ฒฝ๋ก๊ฐ ์ฃผ์ด์ง ๋, ์ด๊ฒ์ด ์ฌ๋ฐ๋ฅธ ๊ฒ์ด๋ฉด Valid, ์ฌ๋ฐ๋ฅด์ง ์์ผ๋ฉด Invalid๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๐์ ๋ ฅ
36๊ฐ์ ์ค์ ๋์ดํธ๊ฐ ๋ฐฉ๋ฌธํ ์์๋๋ก ์ ๋ ฅ์ด ์ฃผ์ด์ง๋ค. ์ฒด์คํ์ ์กด์ฌํ๋ ์นธ๋ง ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ค.
๐์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฌธ์ ์ ์ ๋ต์ ์ถ๋ ฅํ๋ค.
๐ ๋ฌธ์ ํด์
๋์ดํธ์ ์ด๋์ (1,2),(1,-2),(2,1),(2,-1),(-1,2),(-1,-2),(-2,1),(-2,-1) ๊ฐ ๊ฐ๋ฅํ๋ค.
Invalid ํ์ ์ ๋ฐ๋ ๊ฒฝ์ฐ๋ 3๊ฐ์ง ์ ๋ ์๋ค.
์ฒซ๋ฒ์งธ : ๋์ดํธ์ ์ด๋์ ๋ฐ๋ฅด์ง ์๋ ๊ฒฝ์ฐ. ์๋ฅผ ๋ค์ด (3,0) ์ด๋ ๊ฒ ์ด๋
๋๋ฒ์งธ : ๋ฐฉ๋ฌธํ๋ ๊ณณ์ ๋ค์ ๋ฐฉ๋ฌธํ๋ ๊ฒฝ์ฐ. 36๋ฒ๋ง์ ๋ชจ๋ ์ฒด์คํ์ ๋ฐฉ๋ฌธํ๋ ค๋ฉด ๊ฐ์๊ณณ ๋ค์ ๋ฐฉ๋ฌธํ๋ฉด ์๋๋ค.
์ธ๋ฒ์งธ : ๋ง์ง๋ง๊น์ง ์ด๋์ ๋ง์น ์๋ฆฌ์์ ํ๋ฒ ์์ง์ฌ์ ๋ค์ ์ฒ์ ์์น๋ก ๋๋ฌํ ์ ์์ ๋.
์ ๋ ฅ๋ฐ์ ๊ฐ๋ค์ ์ ์ฌํญ๋ค๋ก ์ฒดํฌํ์ฌ ๋ต์ ์ ์ถํด๋ด์๋ค.
๋์ดํธ์ ์ด๋์ ๋ฐ๋ฅด๋ ๊ฒฝ์ฐ
if (abs(ord(pre[0]) - ord(now[0])) ==1 and abs(int(pre[1])-int(now[1])) == 2):
pass
elif (abs(ord(pre[0]) - ord(now[0])) ==2 and abs(int(pre[1])-int(now[1])) == 1):
pass
๋ฐฉ๋ฌธํ๋ ๊ณณ์ ๋ค์ ๋ฐฉ๋ฌธํ์ง ์๋ ๊ฒฝ์ฐ
if now not in visited:
pass
๐ป ์ฝ๋
import sys
input = sys.stdin.readline
ans = "Valid"
visited = [] # ๋ฐฉ๋ฌธํ๋ ๊ณณ์ ๋ด์ ๋ฆฌ์คํธ
for i in range(36):
if i == 0: # ๋ง์ง๋ง๊ฐ๊ณผ ์ฒดํฌํ๊ธฐ ์ํ์ฌ ๋ฐ๋ก ๋นผ๋์
start = input().rstrip()
pre = start
elif i < 35:
now = input().rstrip()
if ((abs(ord(pre[0]) - ord(now[0])) ==1 and abs(int(pre[1])-int(now[1])) == 2) or (abs(ord(pre[0]) - ord(now[0])) ==2 and abs(int(pre[1])-int(now[1])) == 1)) and now not in visited:
pass
else:
ans = "Invalid"
visited.append(now) # ๋ฐฉ๋ฌธ๋ฆฌ์คํธ์ ์ฝ์
pre = now
else:
now = input().rstrip()
if ((abs(ord(now[0]) - ord(start[0])) ==1 and abs(int(now[1])-int(start[1])) == 2) or (abs(ord(now[0]) - ord(start[0])) ==2 and abs(int(now[1])-int(start[1])) == 1)) and now not in visited:
pass
else:
ans = "Invalid"
print(ans)
'Problem Solving > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 5430๋ฒ: AC - ํ์ด์ฌ (0) | 2022.06.16 |
---|---|
[๋ฐฑ์ค] 13023๋ฒ: ABCDE - ํ์ด์ฌ (0) | 2022.06.15 |
[๋ฐฑ์ค] 15312๋ฒ: ์ด๋ฆ ๊ถํฉ - ํ์ด์ฌ (1) | 2022.06.13 |
[๋ฐฑ์ค] 1107๋ฒ: ๋ฆฌ๋ชจ์ฝ - ํ์ด์ฌ (0) | 2022.06.10 |
[๋ฐฑ์ค] 13565๋ฒ: ์นจํฌ - ํ์ด์ฌ (0) | 2022.06.09 |