이 작업의 목적은 주어진 '이미지'에서 모든 얼굴을 식별, 정리 및 표시하는 것입니다.
얼굴이 뭐야?
면은 ZxZ 정사각형이되며 여기서 Z는 1보다 큰 홀수 정수입니다. 왼쪽 위와 오른쪽 모서리와 가운데는 'O'문자가되고 맨 아래 줄은 '\'와 '/'가됩니다. 나머지 줄을 채우려면 '_'문자 예 :
3x3 얼굴 :
O O
O
\_/
5x5 얼굴 :
O O
O
\___/
7x7 얼굴 :
O O
O
\_____/
기타
입력
입력은 STDIN에 있으며 여러 개의 동일한 길이의 문자열로 구성됩니다.
산출
출력은 인식 할 수있는 모든 얼굴이 지워지고 (즉, 눈, 코 및 입을 제외한 모든 문자가 얼굴 경계 내에서 제거됨) 상자로 채워진 입력이어야합니다 (+,-및 | 문자로 둘러싸여 있음). 두 개 이상의면이 겹치는 경우 두면을 모두 지우고 상자에 넣어야하지만 더 큰면에 우선 순위를 두어야합니다 (위에 배치해야 함). 두면의 크기가 모두 같은 경우 우선 순위는 구현 자의 재량에 달려 있습니다. 입력에면이 없으면 출력은 입력과 같아야합니다.
몇 가지 예
입력:
*******
*******
**O*O**
***O***
**\_/**
*******
*******
산출:
*******
*+---+*
*|O O|*
*| O |*
*|\_/|*
*+---+*
*******
입력 (불완전한 얼굴) :
*******
*******
**O*O**
*******
**\_/**
*******
*******
산출:
*******
*******
**O*O**
*******
**\_/**
*******
*******
입력 (중첩면) :
*******
*O***O*
**O*O**
***O***
**\_/**
*\___/*
*******
산출:
+-----+
|O O|
| |
| O |
| |
|\___/|
+-----+
입력 (여러면) :
~{$FJ*TBNFU*YBVEXGY%
FOCO$&N|>ZX}X_PZ<>}+
X$OOPN ^%£)LBU{JJKY%
@\_/$£!SXJ*)KM>>?VKH
SDY%£ILO(+{O:HO(UR$W
XVBFTER^&INLNLO*(&P:
>?LKPO)UJO$£^&L:}~{&
~@?}{)JKOINLM@~}P>OU
:@<L::@\___/GER%^*BI
@{PO{_):<>KNUYT*&G&^
산출:
+---+*TBNFU*YBVEXGY%
|O O|&N|>ZX}X_PZ<>}+
| O |N ^%£)LBU{JJKY%
|\_/|£+-----+M>>?VKH
+---+I|O O|HO(UR$W
XVBFTE| |LO*(&P:
>?LKPO| O |&L:}~{&
~@?}{)| |@~}P>OU
:@<L::|\___/|ER%^*BI
@{PO{_+-----+YT*&G&^
입력 (경계 근처) :
~{$FJ*TBNFU*YBVEXGY%
OCO$&N|>ZX}X_PZ<>}+^
$OOPN ^%£)LBU{JJKY%{
\_/$£!SXJ*)KM>>?VKHU
SDY%£ILO(+{8:HO(UR$W
XVBFTER^&INLNLO*(&P:
>?LKPO)UJ^$£^&L:}~{&
~@?}{)JKOINLM@~}P>OU
:@<L::@BJYT*GER%^*BI
@{PO{_):<>KNUYT*&G&^
산출:
---+J*TBNFU*YBVEXGY%
O O|&N|>ZX}X_PZ<>}+^
O |N ^%£)LBU{JJKY%{
\_/|£!SXJ*)KM>>?VKHU
---+£ILO(+{8:HO(UR$W
XVBFTER^&INLNLO*(&P:
>?LKPO)UJ^$£^&L:}~{&
~@?}{)JKOINLM@~}P>OU
:@<L::@BJYT*GER%^*BI
@{PO{_):<>KNUYT*&G&^
입력 (겹치는면) :
~{$FJ*TBNFU*YBVEXGY%
FXC£$&N|>ZX}X_PZ<>}+
X$*OPN O%£)LBO{JJKY%
@:U%$£!SXJ*)KM>>?VKH
SDY%£OLO(+{P:HO(UR$W
XVBFTER^&IOLNLO*(&P:
>?L\___/JR$£^&L:}~{&
~@?}{)JKOINLM@~}P>OU
:@<L::@\_____/R%^*BI
@{PO{_):<>KNUYT*&G&^
산출:
~{$FJ*TBNFU*YBVEXGY%
FX+---+-------+Z<>}+
X$|O |O O|JJKY%
@:| | |>?VKH
SD| O| |(UR$W
XV| | O |*(&P:
>?|\__| |:}~{&
~@+---| |}P>OU
:@<L::|\_____/|%^*BI
@{PO{_+-------+*&G&^