1722번 - 순열의 순서
코드 작성하고 반례도 찾았습니다. 그런데 왜 저렇게 나오는지 도저히 모르겠어서 질문 올립니다..
N=20
k=2
20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1 2
위와 같이 순열이 역순으로 주어지고, 마지막 두 수만 순서를 바꾼 경우에 잘 못된 정답(마지막 두 수를 바꾸지 않았을 때의 답)이 나옵니다.
즉,
(20 19 ... 2 1) => 2432902008176640000
(20 19 ... 1 2) => 2432902008176640000
와 같이 나옵니다.
이상한건 N=1~18 까지는 정상적으로 나오다는 점입니다...
고수분들께 질문 올립니다 ㅠㅠ
double이 2432902008176639999를 표현 못 하고 있어서 그래요. long long 써보세요. double은 2^53 이상정도 되는 정수에 쓰면 안 된다고 생각하시면 될 것 같아요.
감사합니다! 말씀하신대로 long long으로 바꾸니 해결되었습니다!
당연히 double이
댓글을 작성하려면 로그인해야 합니다.
xzvfinet 6년 전
코드 작성하고 반례도 찾았습니다. 그런데 왜 저렇게 나오는지 도저히 모르겠어서 질문 올립니다..
N=20
k=2
20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1 2
위와 같이 순열이 역순으로 주어지고, 마지막 두 수만 순서를 바꾼 경우에 잘 못된 정답(마지막 두 수를 바꾸지 않았을 때의 답)이 나옵니다.
즉,
(20 19 ... 2 1) => 2432902008176640000
(20 19 ... 1 2) => 2432902008176640000
와 같이 나옵니다.
이상한건 N=1~18 까지는 정상적으로 나오다는 점입니다...
고수분들께 질문 올립니다 ㅠㅠ