면적 구하기 > 문제은행

본문 바로가기


문제은행

1036 : 면적 구하기

제한시간: 1000 ms    메모리제한: 32 MB
해결횟수: 8 회    시도횟수: 50 회   



태현이는 숙제로 특별한 종류의 도형의 면적을 구해야 하는 숙제를 받게 되었다. 도형의 정보는 숫자로 이루어진 수열로 주어지며 도형의 꼭짓점은 좌표의 원점에서 시작한다. 이 점에서부터 한 번씩 꼭짓점으로 다다르게 되는 주어진 숫자에 알맞은 직선을 그으며 도형을 만들고, 마지막에는 최초의 꼭짓점으로 돌아오게 된다. 각 단계에서 당신은 동, 서, 남, 북쪽으로 1 단위 길이만큼 선을 그을 수 있고 혹은 북서, 북동, 남서, 남동으로 √2 단위 길이만큼 선을 그을 수 있다.

 

아래의 경우는 위의 규칙대로 도형을 그은 예시이다.

 

e3050b66a1b29a01767400d7560a4131_1449735
 

 

위의 그림에서 도형의 면적은 2.5로 계산이 된다.

 

숙제를 하려고 한 태현이는 긋게 되는 직선의 개수가 너무 많아서 손으로 하기 힘들다는 것을 알고 프로그래밍을 할 줄 안다고 소문난 당신에게 코코아 한잔을 대가로 프로그램을 짜달라고 부탁하였다. 이유야 어찌 되었건 태현이를 돕기 위해 프로그램을 작성해 보자.


첫 번째 줄엔 도형의 수 t(1≤t≤20)가 주어진다. 각각의 줄은 도형이 어떤 모양을 띄는지 나타내기 위한 정보로 1~9 의 숫자로 구성 되어 있다. 숫자 8, 2, 6, 4는 이전 위치에서 각각 북, 남, 동, 서로 직선을 그었다는 의미인 반면 9, 7, 3, 1은 북동, 북서, 남동, 남서쪽으로 직선을 그었다는 뜻이다. 5의 경우 도형의 끝을 의미한다. 위의 예제의 경우는 98415로 표기가 된다. 끝나는 점이 항상 시작점이라는 것과, 모서리끼리는 교차하지 않는다는 것을 가정한다. 각각의 줄에 들어오는 입력되는 줄의 연속된 숫자의 개수는 최대 1,000,000개 이하이다.



그 면적을 한 줄에 출력한다. 소수점이 있을 경우 소수점 첫째 자리까지의 숫자를 출력하며, 그렇지 않을 경우 소수점 자리 없이 출력 한다.


[Copy]
4
5
825
6725
6244865
[Copy]
0
0
0.5
2





POJ Monthly--2004.05.15 Liu Rujia@POJ Area, poj 1654

HancomEducation E-mail : hancomc@hotmail.com, comkiwer@naver.com Tel : 070-7163-5782 FAX : 031-388-0996 정올소개 이용약관 개인정보처리방침
경기도 안양시 동안구 호계동 1065-10 협성골드프라자 601호, 경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호
Copyright@2010-2015 jungol. All right reserved.