Defenestration adalah tindakan membuang seseorang atau sesuatu ke luar jendela.
- Wikipedia
Memasukkan
Input akan terdiri dari dua bagian:
Denah lantai dan seseorang di dalam rumah / bangunan.
v><^mewakili seseorang, menunjuk ke arah yang ditandai dengan panah. Input akan berisi tepat satu orang.-dan|mewakili dinding, dan#mewakili sebuah jendela.adalah ruang kosong.
Bagian input ini dapat diambil sebagai string tunggal, atau array / daftar / dll. garis. Tidak akan pernah ada spasi tambahan atau spasi, dan input akan selalu berbentuk persegi panjang.
Contoh:
-----###--- | | | ^ | -----------Integer ≥ 1 yang menandakan seberapa jauh (dalam karakter) orang tersebut bepergian.
Keluaran
Outputnya seharusnya
1jika orang tersebut berakhir "dalam" jendela (yaitu setelah bergerak ke depan jarak yang ditentukan dalam input, orang tersebut di atas a#).2jika orang tersebut telah didefestrasi (bersentuhan dengan a#dan kemudian melanjutkan lebih jauh).3jika orang tersebut menabrak dinding (bersentuhan dengan-atau|. Begitu menabrak dinding, orang itu berhenti dan tidak melanjutkan melewatinya).0jika tidak ada di atas yang benar (dan semua yang dilakukan orang adalah melakukan perjalanan melalui ruang kosong).
Asumsi
Semua hal berikut ini dapat dianggap benar:
Orang tersebut tidak akan pernah melakukan perjalanan "di luar batas" dari area input.
Setelah defenestrasi, orang tersebut tidak akan pernah melakukan kontak dengan orang lain
#atau-/|(jadi Anda tidak perlu khawatir jika2dan1atau3keduanya benar).
Uji kasus
Untuk "denah lantai" berikut:
-----
| |
|###|
| |
| ^ |
In Out
1 0
2 1
3 2
Untuk denah lantai ini:
> | # |
In Out
1 0
2-99 3 * that is, any input 2-99 outputs 3
Untuk denah lantai ini:
||####|#|#|##|<
In Out
any 3
Kasus ujian akhir:
|v|
|#|
| |
| |
| |
| |
In Out
1 1
2-5 2
Has someone been for-sparta'd?