ez_code   2년 전

문제

고토 시는 아래와 같이 도로가 바둑판 형태인 것으로 유명합니다. 남북으로 뻗은 도로와 동서로 뻗은 도로는 각각 1km 간격으로 늘어서 있습니다. 고토 시에서 남서쪽 끝 교차점에 있는 고토 역을 (0, 0), 그로부터 동쪽으로 x km, 북쪽으로 y km 떨어진 위치를 (x, y)로 표기합시다. (0 <= x, y)

(그림 참조)

5년 후 열리는 올림픽에 따른 관광객의 증가를 예상해, 시는 고토 역을 시작 역으로 하는 새로운 지하철 노선을 설치하기로 했습니다. 현재 고토 역의 다음 역으로 새롭게 설치될 신 고토 역까지 레일을 깔 계획을 세우고 있습니다. 레일은 고토 역에서 신 고토 역을 향해 일직선으로 깝니다. 따라서 신 고토 역의 위치를 (x, y)라 할 때,  레일의 길이는 √(x2 + y2)가 됩니다. 레일을 깔기 위한 비용은, 까는 레일의 길이입니다. 레일의 길이가 1.5km처럼 소수로 나와도, 비용도 똑같이 1.5로 계산하면 됩니다.

신 고토 역의 위치 (x, y)는 아직 결정되지 않았지만, 아래의 조건을 만족하는 장소로 할 예정입니다.

- 교차점 위. 즉, x와 y는 각각 정수입니다.

- 고토 역에서 도로를 따라 걸었을 때 최단 거리가 딱 D인 장소. 즉, x + y = D를 만족합니다.

위의 2가지 조건을 만족하는 위치 중, 시가 정하는 레일의 예산 E와 레일을 설치하는 비용의 차 | √(x2 + y2) - E |가 최소가 되는 위치를 신 고토 역의 설치 장소로 합니다. 여기서 |A|는 A의 절댓값을 나타냅니다. 위와 같은 방식으로 신 고토 역을 설치할 때, 레일을 깔기 위한 비용과 예산의 차를 출력하는 프로그램을 작성합시다.

입력

입력은 복수의 데이터로 구성되며, 한 개의 입력에 해당되는 데이터의 수는 100개 이하입니다. 각 데이터는 아래의 형식으로 주어집니다. 

D E

D(1 <= D <= 100)는, 고토 역에서 신 고토 역까지 도로를 따라 걸을 때 최단 거리를 나타내는 정수입니다.  E(1 <= E <= 100)는 레일을 설치하기 위한 예산을 나타내는 정수입니다.

공백으로 구분된 두 개의 0이 한 줄에 주어지며 입력의 끝을 나타냅니다.

출력

각 데이터에 대해, 문제의 조건을 만족하며 레일을 깔 때의 비용과 예산의 차를 한 줄에 출력합니다. 정답과 절대 오차가 10 ^ (-3)이 넘으면 안 됩니다. 각 줄의 끝에 개행 문자를 출력하지 않거나 불필요한 문자를 출력했을 경우 오답으로 판단되므로 주의합시다.

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