절취선 아래의 코드는 맞은 코드지만,

절취선 위의 코드는 정답이 다르게 출력되는데...

왜 그럴까요?? 같은 코드 아닌가요? ㅠ.ㅠ

lmn1349   10달 전

#define 은 치환만 해줍니다.

min(cal(a,x),cal(b,y));가 min( 2*x < a ? x : a-x , 2*y < b ? y : b-y );가 되고,
그게 또 2*x < a ? x : a-x > 2*y < b ? y : b-y ? 2*y < b ? y : b-y : 2*x < a ? x : a-x가 됩니다.

#define min(a,b) (a>b?b:a)
#define cal(x,y) (2*y<x?y:x-y)

이렇게 매크로 함수를 괄호로 감싸주시면 좋을 것 같습니다.

댓글을 작성하려면 로그인해야 합니다.