Kotak-kotak Cina terlihat seperti ini (berdasarkan pertanyaan ini , tetapi kali ini ukurannya tetap):
G
. G
G G G
G G . G
B B B B . . Y G . Y . Y Y
B B B . . G . . . Y Y Y
B . B . . . . . Y . Y
B . . . . . . . . Y
. . . . . . . . .
. P . . . . . O O .
P P . . . . . . . O O
P P P . . . R . . O O .
P P P P . . R . . O O O O
R . R R
R R R
R .
R
Setiap karakter non-spasi dalam contoh ini dapat diganti dengan karakter ASCII non-spasi yang dapat dicetak dalam input, sementara spasi tidak pernah berubah. Perhatikan bahwa itu tidak dijamin menjadi pengaturan yang valid di pemeriksa Cina (seperti mungkin tidak memiliki 7 jenis karakter yang berbeda).
Tugas Anda adalah memutarnya dengan kelipatan 60 derajat.
Ini adalah contoh di atas yang diputar 60 derajat searah jarum jam:
B
B B
B B B
B . B B
P P P . . . B . . G G . G
P P P P . . . . . G G G
P P . . . . . G Y . G
P . . . . . . . G G
. . . . . . . . .
R . . . . . . . . Y
R . R R . . . . Y Y .
R R R . . . O . . . Y Y
R . R R . . . O . Y Y Y Y
O O O .
O O O
O .
O
Inputnya adalah bilangan bulat non-negatif dan kotak-kotak Cina. Program Anda (atau fungsi) harus memutarnya dengan bilangan bulat * 60 derajat. Anda memutuskan apakah akan memutar searah jarum jam atau berlawanan arah jarum jam, selama itu konsisten. Baik input maupun output seharusnya tidak memiliki spasi tambahan tambahan atau spasi tambahan.
Ini adalah kode-golf. Kode terpendek menang.
sumber
_,,Sf*\.+W%ze_
.liq{_N/eeSf.*W%:szsS-\{_' >{;(}&\}/;]}@*
, tapi saya berpikir untuk berputar 60 derajat, bukan 45 derajat ketika saya menulis tantangan ini ...qN/(i{_eeSf.*W%:szSf-{},.{' f+sW<\,' e[}}*N*
bahkan lebih lama dari yang saya miliki sebelumnya ...Python 2, 171 byte
Ini mungkin satu-satunya waktu yang saya anggap
str.splitlines
berguna - untuk semua waktu lainnya,.split("\n")
lebih singkat.Gunakan seperti
f(S,10)
.Penjelasan
Untuk setiap karakter dalam input, kami juga:
Untuk mengetahui karakter yang harus diganti, kami mengonversi kisi ke koordinat kubus
(x, y, z)
, memutarn
waktu dengan mengubah(x, y, z) -> (-y, -z, -x)
, lalu mengonversi kembali.sumber