Memasukkan:
1
X
X
X
X XX XXXXXX X X X
X XX XXXXXX X X X
XXX X XX XXXXXX X X X
XXX X XX XXXXXX X X X
Keluaran:
X.
X..
X...
X.... XX. XXXXXX. X.X.X.
X..... XX.. XXXXXX.. X.X.X..
XXX. X......XX... XXXXXX... X.X.X...
XXX.. X......XX....XXXXXX.... X.X.X....
Memasukkan:
2
XX
XX
XX
XX
XX
XX XX
XX XX
XX XX
XX XX
Keluaran:
.XX
..XX
...XX
....XX
.....XX
..XX..XX
...XX..XX
....XX..XX
.....XX..XX
Spesifikasi:
- Anda harus menerima sebagai masukan
- Sebuah bendera yang menandakan apakah cahaya datang dari kiri atas atau kanan atas. Ini bisa menjadi
1atau2,-1atau1,0atau65536, atau apa pun yang nyaman bagi Anda, selama kedua flag adalah bilangan bulat. - Baris yang terdiri dari salah satu
Xatau, semua karakter dengan panjang yang sama (mis. Diisi dengan)- Semua
Xakan berada di baris terakhir atau diXbawahnya (berarti tidak ada bangunan terapung)
- Semua
- Sebuah bendera yang menandakan apakah cahaya datang dari kiri atas atau kanan atas. Ini bisa menjadi
- Anda harus menampilkan baris (bangunan) dengan bayangan yang ditambahkan. Ini dilakukan dengan prosedur berikut:
- Jika cahaya datang dari kiri atas, gambarlah segitiga siku-siku
.s dengan tinggi dan lebar yang sama dengan tinggi bangunan, mulai dari satu ruang melewati tepi kanan dan menuju ke kanan. - Kalau tidak, jika itu dari kanan atas, lakukan hal yang sama tetapi mulai dari satu ruang melewati tepi kiri dan menunjuk ke kiri.
- Ingat, jangan ubah
Xs dengan mengubahnya menjadi.; biarkan mereka apa adanya. - Akan selalu ada "ruang" untuk bayangan Anda, yaitu jika ada bangunan setinggi 3 ruang di ujungnya akan ada setidaknya 3 ruang padding setelahnya.
- Jika cahaya datang dari kiri atas, gambarlah segitiga siku-siku
- Ini adalah kode-golf , jadi kode terpendek dalam byte akan menang!
potatodan while(1){}. Seperti dikutip dalam pertanyaan, "apa pun yang nyaman."
Regex.Replacemana saya tidak bisa mengatasi ... apakah saya memiliki dua masalah sekarang?
{}dan{-1*}sebagai nilai flag?