BOJ
백준 파이썬 4299 AFC 윔블던[미해결]
Coding_SJ
2020. 3. 16. 19:59
내 풀이 (틀림)
1
2
3
4
5
6
7
8
9
10
|
a,b = map(int,input().split())
x = (a+b)//2
y = (a-b)//2
if a < b or (a+b)%2 != 0:
print(-1)
if x >= y:
print(x,y)
elif x < y:
print(y,x)
|
cs |
다른 풀이
1
2
3
4
5
|
a,b = map(int,input().split())
if((a+b)%2 or b>a): print(-1)
else:
a,b=(a+b)//2,(a-b)//2
print(max(a,b),min(a,b))
|
cs |
왜 내 풀이는 안되는지 이해가 안 됨.
일단 if에서 저런식으로 쓸 수 있다는 것도 배웠다. 별거 아니긴한데
if((a+b)%2 or b>a)에서
if((a+b)%2) 이렇게만 써도 if(1=True)의 의미를 가진다는거..