뫼비우스의 띠
시간 제한1초메모리 제한128 MB
각 테스트 케이스의 m by 2n 뫼비우스 격자에서 모든 순서쌍의 최단 이동 거리 평균을 구합니다.
문제
뫼비우스의 띠는 면이 하나뿐이고 경계선도 하나뿐인 곡면이다. 종이 띠로 다음과 같이 만들 수 있다. 짧은 쪽 끝 하나를 반 바퀴 비튼 뒤, 두 짧은 끝을 맞붙인다.
양면에 각각 크기의 정사각형 격자가 그려진 직사각형 종이 띠를 준비하자(이며, 폭 방향으로 칸, 길이 방향으로 칸이다). 짧은 끝 하나를 반 바퀴 비틀어 두 짧은 끝을 붙이면 양면이 하나의 연속된 면으로 이어지므로, 만들어진 뫼비우스의 띠는 크기가 이 된다. 즉 폭 방향으로 칸, 고리를 한 바퀴 도는 길이 방향으로 칸이다. 예를 들어 크기가 인 뫼비우스의 띠는 , (즉 )이다.
두 칸은 한 변을 온전히 맞대고 있을 때 서로 인접한다고 한다. 단, 띠의 유일한 경계선을 사이에 둔 경우는 인접이 아니다. 개미 한 마리가 한 칸에 서서 인접한 칸으로만 이동하며, 경계선을 넘어갈 수는 없다. 두 칸 사이의 거리는 개미가 한 칸에서 다른 칸까지 가는 데 필요한 최소 이동 횟수이다(출발한 칸을 제외하고 지나는 칸의 수와 같다). 따라서 인접한 두 칸 사이의 거리는 이다.
크기가 인 뫼비우스의 띠의 평균 거리는 모든 순서쌍(같은 칸끼리 짝지은 경우도 포함하며, 이때 거리는 이다)에 대한 거리의 평균이다. 예를 들어 크기가 인 뫼비우스의 띠의 평균 거리는 이다.
뫼비우스의 띠의 크기가 주어질 때, 그 평균 거리를 출력하라.
입력
첫째 줄에 테스트 케이스의 수 가 주어진다. 이어지는 개의 줄에는 각각 두 정수 과 ()이 주어지며, 이는 크기가 인 뫼비우스의 띠를 뜻한다.
출력
각 테스트 케이스마다 해당 뫼비우스의 띠의 평균 거리를 소수점 아래 정확히 한 자리로, 가장 가까운 단위로 반올림하여 한 줄에 출력한다.