Algorithm Problem/Python
[python] SWEA - 4301. ์ฝฉ ๋ง์ด ์ฌ๊ธฐ
deo2kim
2022. 3. 26. 20:24
๋ฐ์ํ
๐ค๋ฌธ์ ํด๊ฒฐ
O | O | X | X | O | O |
O | O | X | X | O | O |
X | X | O | O | X | X |
X | X | O | O | X | X |
O | O | X | X | O | O |
O | O | X | X | O | O |
O | O | X | X | O |
O | O | X | X | O |
X | X | O | O | X |
์์์๋ถํฐ ์๋๋ก ํ์ค์ฉ ๋ด๋ ค๊ฐ๋ฉด์ ๊ท์น์ ์ฐพ์๋ณด๋ฉด์์ ๊ทธ๋ฆผ์ฒ๋ผ ์ฌ๋๊ฒ ๊ฐ์ฅ ๊ฒฝ์ฐ์ ์๊ฐ ๋ง๊ฒ ์ฌ์ ์ ์๋ค.
- ์ฒซ์ค์์
- ์ค๋ฅธ์ชฝ์ผ๋ก 4์นธ๋ง๋ค 2๊ฐ์ฉ ์ฌ์ ์ ์๋ค
- ๊ทธ๋ฆฌ๊ณ ๋๋จธ์ง์นธ์ด
- 3์นธ - 2๊ฐ
- 2์นธ - 2๊ฐ
- 1์นธ - 1๊ฐ
- 0์นธ - 0๊ฐ
- ๋๋ฒ์งธ ์ค๋ ์์ ๊ฐ๋ค
- ์ธ๋ฒ์งธ ์ค์ ์์ ๋์นธ์ ๋นผ๊ณ ์์ํ์ฌ ์์ ๊ท์น์ ์ ์ฉ
- ๋ค๋ฒ์งธ๋ ์ธ๋ฒ์งธ์ ๊ฐ๋ค
- ๋ค์ฏ๋ฒ์งธ๋ ๋ค์ ์ฒซ๋ฒ์งธ์ฒ๋ผ
๊ฒฐ๋ก ์ 1,2 | 3,4 | 5,6 | 7,8 | ... ์ง์ง์ด์ ํ๋ฉด๋๋ค.
๐ป์์ค ์ฝ๋
def get_axis_per_count(num):
count = num // 4 * 2
nmg = num % 4
if nmg in (3, 2):
count += 2
else:
count += nmg
return count
T = int(input())
for test_case in range(1, T + 1):
N, M = map(int, input().strip().split())
answer = 0
flag = 0
for i in range(M):
if flag in (0, 1):
answer += get_axis_per_count(N)
flag += 1
else:
answer += get_axis_per_count(N - 2)
flag += 1
flag %= 4
print(f'#{test_case} {answer}')
๐๋ฌธ์ ํ์ธ
์ถ์ฒ: SW Expert Academy
๋ฐ์ํ