뱀파이어
면접 대비시간 제한2초메모리 제한512 MB
두 생명력과 명중 기준값, 고정 피해량이 주어질 때, 턴제 흡혈 싸움에서 흡혈귀 1이 이길 확률을 구한다.
문제
펠리피뉴는 뱀파이어 클랜들의 전쟁을 다룬 새 RPG 게임에 푹 빠져 있다. 이 게임에서 그는 뱀파이어 캐릭터 하나를 맡아 다른 클랜의 뱀파이어와 끊임없이 싸운다. 전투 결과는 싸우는 캐릭터의 능력치와 평범한 6면체 주사위 하나로 정해진다.
문제를 단순하게 하기 위해 뱀파이어 1과 뱀파이어 2, 두 뱀파이어의 싸움만 생각하자. 두 뱀파이어에게는 각각 생명력이 있으며, 이를 , 라고 부른다. 여기에 공격력 와 피해량 가 정해진다.
전투는 다음과 같이 턴 단위로 진행된다. 매 턴 주사위를 한 번 굴려서 나온 눈이 이하이면 뱀파이어 1이 그 턴을 이기고, 그렇지 않으면 뱀파이어 2가 이긴다. 턴을 이긴 쪽은 상대의 생명력을 만큼 빨아들인다. 즉 진 쪽의 생명력이 줄고 이긴 쪽의 생명력이 늘어난다. 전투는 어느 한 뱀파이어의 생명력이 0 이하가 될 때까지 계속된다.
예를 들어 , , , 라고 하자. 주사위를 굴려 3이 나왔다면 뱀파이어 2가 턴을 이긴다. 따라서 뱀파이어 1의 생명력 에서 4를 빼고 뱀파이어 2의 생명력 에 4를 더하므로 새 값은 , 가 된다. 다음 턴에 뱀파이어 2가 또 이기면 전투가 끝난다.
와 는 전투 내내 변하지 않으며, 과 만 바뀐다.
펠리피뉴는 이 게임을 무척 좋아하지만 전투가 너무 오래 걸린다고 생각한다. 그래서 싸울 가치가 있는지 판단하려고 이길 확률을 미리 알고 싶어 한다. , 의 초깃값과 , 가 주어질 때 뱀파이어 1이 전투에서 이길 확률을 구하는 프로그램을 작성하라.
입력
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 한 줄이며, 정수 , , , 가 공백으로 구분되어 주어진다. (, , )
입력의 끝은 0 네 개가 공백으로 구분된 줄로 표시한다. 이 줄은 처리하지 않는다.
출력
각 테스트 케이스마다 한 줄에 실수 하나를 출력한다. 이 수는 뱀파이어 1이 전투에서 이길 확률을 백분율로 나타낸 값이며, 소수점 아래 첫째 자리까지 출력한다.
정확한 확률값을 소수점 아래 둘째 자리에서 반올림한다. 둘째 자리 이하가 정확히 절반인 경우(예: 정확히 )에는 올림하여 을 출력한다.