Luckasti Likovi

면접 대비

시간 제한1초메모리 제한1024 MB

요약
한 줄로 놓인 n개의 단위 정사각형 안에 정사각형, 원, 정삼각형이 하나씩 있을 때, 이들의 합집합을 감싸는 볼록 껍질의 둘레를 구한다.
난이도

보통10점 중 7점

유형
기하, 구현, 수학
정답자
아직 제출이 없습니다

문제

U pravokutnoj mreži podijeljenoj na jedinične kvadrate uredno je posloženo nn geometrijskih likova. Likovi se nalaze unutar uzastopnih jediničnih kvadrata istoga retka i to tako da se unutar svakog jediničnog kvadrata nalazi točno jedan lik. Likovi mogu biti:

  • Kvadrat kojem su stranice savršeno poravnate sa stranicama jediničnih kvadrata mreže.
  • Krug koji je upisan u jedinični kvadrat.
  • Jednakostranični trokut kojem jedna stranica odgovara donjoj stranici jediničnog kvadrata mreže.

Likovi iz prvog probnog primjera i njihov konveksni obris

Neformalno, konveksni obris rasporeda likova je najkraća linija koja zatvara sve likove. Formalnije, radi se o opsegu konveksne ljuske unije svih likova.

Za dani raspored likova, odredite duljinu njihovog konveksnog obrisa.

입력

U prvom je retku prirodan broj nn (1≤n≤201 ≤ n ≤ 20) iz teksta zadatka.

U sljedećem se retku nalazi riječ od nn znakova koja opisuje raspored likova slijeva nadesno. Svaki znak označava jedan lik i to tako da znakovi 'S', 'C' i 'T' redom označavaju kvadrat, krug i trokut.

출력

Ispišite duljinu konveksnog obrisa zadanih likova.

Tolerirat će se apsolutno ili relativno odstupanje od službenog rješenja za 10−610^{-6}.

예제2

  1. 예제 1

    입력
    4
    TSTC
    
    예상 출력
    9.088434417
    
  2. 예제 2

    입력
    3
    SCT
    
    예상 출력
    7.50914177324