https://www.acmicpc.net/problem/2756
문제 전문은 링크 참조
문제가공
- x ,y 값으로 이루어진 숫자쌍을 6쌍 입렫 받는다.
- 0,0에서 부터 x,y 까지의 거리를 구한다. ( 피타고라스의 정리 a^2 + b^2 = c^2 )
- 거리에 포함되는 점수를 계산 후, 승자를 출력한다.
코드작성
def getDistance(x,y):
return ((x**2 if x!= 0 else 0) + (y**2 if y != 0 else 0))**0.5
def getScore(distance):
if 0<=distance<=3: return 100
elif 3<distance<=6: return 80
elif 6<distance<=9: return 60
elif 9<distance<=12: return 40
elif 12<distance<=15: return 20
else: return 0
for _ in range(int(input())):
scores = []
arr = list(map(float,input().split()))
for idx in range(len(arr)//2):
x = arr[idx*2]
y = arr[idx*2+1]
scores.append(getScore(getDistance(abs(x),abs(y))))
p1 = sum(scores[:3])
p2 = sum(scores[3:])
print(f'SCORE: {p1} to {p2},', end = ' ')
if p1==p2 : print("TIE.")
elif p1>p2 : print('PLAYER 1 WINS.')
else : print('PLAYER 2 WINS.')
'Python > 백준 (BOJ)' 카테고리의 다른 글
[BOJ][B2]유학 금지 - 2789 (0) | 2025.09.10 |
---|---|
[BOJ][B2]아름다운 수 - 2774 (0) | 2025.09.09 |
[BOJ][B2]수 정렬하기 - 2750 (0) | 2025.09.07 |
[BOJ][B2]피보나치 수 - 2747 (0) | 2025.09.06 |
[BOJ][B2]오타맨 고창영 - 2711 (0) | 2025.09.05 |