17352번 - 여러분의 다리가 되어 드리겠습니다!
find 함수에서 return 이후에 식을 적용하는게 문제가 되는거같은데 어떤문제인지 모르겠습니다.
9번째 줄 find함수의 반환식 return root[x] = find(root[x]); 을
아래 식들처럼 제출하면 정답이 나오는데 반환값 출력할때 함수를 쓰면 안되는건가요?
이런 문제가 생긴 이유에 대해 알려주시면 감사하겟습니다.
root[x] = find(root[x]);
return root[x];
또는
return (root[x] = find(root[x]));
int find(int x) {
return x == root[x] ? x : root[x] = find(root[x]);
}
지금 코드는 freopen이 있어서 틀립니다.
댓글을 작성하려면 로그인해야 합니다.
whdthsgnk 4년 전
find 함수에서 return 이후에 식을 적용하는게 문제가 되는거같은데 어떤문제인지 모르겠습니다.
9번째 줄 find함수의 반환식 return root[x] = find(root[x]); 을
아래 식들처럼 제출하면 정답이 나오는데 반환값 출력할때 함수를 쓰면 안되는건가요?
이런 문제가 생긴 이유에 대해 알려주시면 감사하겟습니다.
root[x] = find(root[x]);
return root[x];
또는
return (root[x] = find(root[x]));
또는
int find(int x) {
return x == root[x] ? x : root[x] = find(root[x]);
}