leejk9592   7년 전

m × n (m ≤ n) on both sides of the strip, we can create a Möbius strip by joining the shorter ends of the strip together
라고 되어 있어서, m과 n을 받아온 후, n이 m보다 작으면 m과 n을 바꿔준 후 알고리즘을 적용시켰는데 틀렸다고 나오네요

그래서 질문을 통해 swap 코드를 삭제하면 정답처리 된다는 의견이 있어 시도해봤더니 통과가 되서 의견 남겨봅니다.

또 테스트 케이스의 입력이 정의가 
Each test case consists of a single line containing two integers, and m and n(1 ≤ m ≤ n ≤ 1,000,000)로
m <= n으로 되어있는데,

m > n인 잘못된 테스트 케이스가 포함되어 있는 것 같습니다.

scanf("%lld %lld", &M, &N);
R = (3 * M * N + 2 * (M - 1) * (M + 1)) / (double)(6 * M);

m, n을 바꿀 경우 다른 답이 나오는데, 예를 들어
M : 2, N : 3이면 위의 알고리즘을 적용 시 2.0으로 나오지만
M : 3, N : 2이면 위의 알고리즘을 적용 시 1.9 => 1.8888... 으로 다른 결과가 나오게 됩니다.

baekjoon   7년 전

재채점했습니다.

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