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... 으로 다른 결과가 나오게 됩니다.
leejk9592 7년 전 3
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... 으로 다른 결과가 나오게 됩니다.