๋ฌธ์
๋ฐฑ์ค ์จ๋ผ์ธ ์ ์ง - 9094๋ฒ
ํ์ด ๊ณผ์
๊ฐ๋ฅํ ๋ชจ๋ ์กฐํฉ์ ๋ง๋ค์ด๋ณธ ๋ค์ ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์กฐํฉ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์
๋๋ค.
์ฒ์์ a ์ b ์ ์กฐํฉ์ ๊ฐ์๊ฐ 10000๊ฐ๋ฅผ ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋จ์ ์กฐํฉ๊ฐ์๋ฅผ ๋ง๋ค์ด์ ์๋ํ๋๋ฐ
ํ
์คํธ ์ผ์ด์ค์ ๊ฐ์ T
๋ฅผ ๊ณ ๋ คํ์ง ๋ชปํด์ ์๊ฐ ์ด๊ณผ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์ด๋ฅผ ์ํด a, b, m
์ ์ํ๋ณ์๋ก ํ๋ ๋ฉ๋ชจ์ด์ ์ด์
์ ์ ์ฉํด์ ์ค๋ณต๋ ๊ณ์ฐ์ ์ค์ด๋ ๋ฐฉ์์ผ๋ก ํด๊ฒฐํ ์ ์์ต๋๋ค.
์ฝ๋
import sys
def solution():
ret = 0
for a in range(1, n):
for b in range(a + 1, n):
if memo[a][b][m] != -1:
ret += memo[a][b][m]
continue
numerator, denominator = (a**2 + b**2 + m), (a * b)
if numerator % denominator == 0:
ret += 1
memo[a][b][m] = 1
else:
memo[a][b][m] = 0
return ret
if __name__ == '__main__':
T = int(input())
memo = [[[-1 for _ in range(101)] for _ in range(101)] for _ in range(101)]
for _ in range(T):
n, m = list(map(int, sys.stdin.readline().split()))
answer = solution()
print(answer)
๋ฐ์ํ
'๐ algorithm > boj' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ 5076 - Web Pages (0) | 2021.07.19 |
---|---|
BOJ 1920 - ์ ์ฐพ๊ธฐ (0) | 2021.07.05 |
BOJ 13700 - ์์ ๋ฒ์ฃ (0) | 2021.06.29 |
BOJ 14950 - ์ ๋ณต์ (0) | 2021.06.25 |
BOJ 1197 - ์ต์ ์คํจ๋ ํธ๋ฆฌ (0) | 2021.06.18 |
๐ฌ ๋๊ธ