떨어지는 다이아몬드 (스몰)

무작위로 좌우로 미끄러지며 쌓이는 N개 다이아몬드 중 하나가 지정된 좌표에 정확히 멈출 확률을 계산합니다.

보통6확률시뮬레이션동적 계획법아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

하늘에서 다이아몬드가 떨어진다. 사람들은 다이아몬드가 떨어질 만한 자리를 미리 사들이고 있다. 거기에 다이아몬드가 떨어지면 그 다이아몬드를 갖게 되기 때문이다. 당신에게도 그런 자리를 하나 사라는 제안이 들어왔고, 당신은 그 제안이 괜찮은지 알고 싶다.

다이아몬드는 이름 그대로 마름모 모양이다. 중심이 (X,Y)(X, Y)인 다이아몬드는 꼭짓점이 (X1,Y)(X-1, Y), (X,Y+1)(X, Y+1), (X+1,Y)(X+1, Y), (X,Y1)(X, Y-1)인 정사각형이다. 모든 다이아몬드는 XYXY 평면 위에 있다. XX는 가로 방향, YY는 세로 방향이다. 땅은 Y=0Y = 0이고, YY가 양수인 곳이 땅 위다.

다이아몬드는 YY축을 따라 하나씩 떨어진다. 즉 아주 큰 YY에 대해 (0,Y)(0, Y)에서 출발해 수직으로 내려오다가 땅이나 다른 다이아몬드에 부딪힌다.

땅에 부딪힌 다이아몬드는 중심이 땅에 묻힐 때까지 내려간 다음 멈춘다. 결국 중심의 YY좌표가 00이 된 다이아몬드는 더 내려가지도 미끄러지지도 않는다.

다른 다이아몬드와 꼭짓점끼리 부딪힌 다이아몬드는 방향을 유지한 채 왼쪽 아래나 오른쪽 아래로 미끄러질 수 있다. 양쪽 모두 다른 다이아몬드가 바로 막고 있지 않으면 두 방향을 같은 확률로 고른다. 한쪽만 막혀 있으면 반대쪽으로 미끄러지고, 다른 다이아몬드에 막히거나 땅에 묻힐 때까지 계속 미끄러진다. 왼쪽과 오른쪽이 모두 막혀 있으면 그 자리에 멈춘다.

그림의 예를 보자. 첫 번째 다이아몬드는 땅에 부딪혀 절반이 묻힌 채 중심 (0,0)(0, 0)에서 멈춘다. 두 번째 다이아몬드는 왼쪽과 오른쪽을 같은 확률로 고른다. 그림에서는 왼쪽으로 가서, 첫 번째 다이아몬드 옆 (2,0)(-2, 0)에 묻힌 채 멈췄다. 세 번째 다이아몬드도 첫 번째 다이아몬드에 부딪힌다. 오른쪽으로 미끄러지면 땅에 묻히고, 왼쪽으로 미끄러지면 이미 놓인 두 다이아몬드 사이 위쪽에 멈춘다. 그림에서는 또 왼쪽으로 가서 (1,1)(-1, 1)에 멈췄다. 네 번째 다이아몬드는 고를 여지가 없다. 오른쪽으로 미끄러져 (2,0)(2, 0)의 땅에 묻힌다.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다. 이어지는 TT개의 줄에 각각 정수 세 개 NN, XX, YY가 주어진다. NN은 떨어지는 다이아몬드의 개수이고, (X,Y)(X, Y)는 당신이 관심 있는 자리의 좌표다. 그 자리가 땅에 있거나 땅 근처일 필요는 없다.

제한

  • 1T1001 \le T \le 100
  • 10000X10000-10000 \le X \le 10000
  • 0Y100000 \le Y \le 10000
  • X+YX + Y는 짝수
  • 1N201 \le N \le 20

출력

각 테스트 케이스마다 Case #x: p 형식으로 한 줄을 출력한다. x11부터 시작하는 테스트 케이스 번호이고, pNN개의 다이아몬드 중 하나가 중심이 정확히 (X,Y)(X, Y)인 자리에서 멈출 확률이다. p는 소수점 아래 여섯 자리까지 반올림해서 출력한다.