방어 는 창 밖으로 누군가 또는 무언가를 던지는 행위입니다.
— 위키 백과
입력
입력은 두 부분으로 구성됩니다.
평면도 및 집 / 건물 내부의 사람.
v><^
는 화살표로 표시되는 방향을 가리키는 사람을 나타냅니다. 입력은 정확히 한 사람을 포함합니다.-
그리고|
벽을 나타내며,#
창을 나타냅니다.
입력의이 부분은 단일 문자열 또는 배열 / 목록 / 등으로 취할 수 있습니다. 라인. 후행 또는 선행 공백은 없으며 입력은 항상 사각형입니다.
예:
-----###--- | | | ^ | -----------
사람이 얼마나 멀리 여행 하는지를 나타내는 정수 ≥ 1
산출
출력은
1
사람이 창을 "내부"로 끝내면 (즉, 입력에 지정된 거리만큼 앞으로 이동 한 후 사람이 위에 있음#
)2
그 사람이 방어를받은 경우 (와 접촉#
한 다음 계속 계속).3
사람이 벽에 부딪 힐 경우 (A와 접촉-
하거나|
. 벽을 치는되면, 사람이 중지되고 그것을 통해 계속되지 않습니다).0
위의 사항 중 어느 것도 해당되지 않는 경우 (그리고 모든 사람이 빈 공간을 통과하는 것입니다)
가정
다음은 모두 사실이라고 가정 할 수 있습니다.
사람은 입력 영역의 "경계를 벗어나"여행하지 않습니다.
defenestrated 후, 사람이 서로 접촉하지 않습니다
#
또는-
/|
(당신은 걱정에 대한 경우에 필요가 없습니다2
및1
또는3
모두 해당).
테스트 사례
다음 "바닥 계획"의 경우 :
-----
| |
|###|
| |
| ^ |
In Out
1 0
2 1
3 2
이 평면도의 경우 :
> | # |
In Out
1 0
2-99 3 * that is, any input 2-99 outputs 3
이 평면도의 경우 :
||####|#|#|##|<
In Out
any 3
최종 테스트 사례 :
|v|
|#|
| |
| |
| |
| |
In Out
1 1
2-5 2
Has someone been for-sparta'd?