Hilbert Curve'den hoşlanıyorum .
Bu meydan okuma için sizin göreviniz (tüm tarafların iki piksel genişliğinde bir güç olduğu kesin bir kare resim) çekmek ve zig-titiz bir şekilde satır satır satır açmak ve sözde-Hilbert eğrisinde tekrar yükseltmektir. .
çözülüyor
Çözmek için sol üst köşedeki pikselle başlayacak ve görüntünün kenarına ulaşana kadar sağa doğru hareket edeceksiniz. Görüntünün kenarına bastığınızda, bir sonraki satıra inecek ve tekrar kenara çarpana kadar sola hareket etmeye başlayacaksınız. Her seferinde yönü değiştirerek satır açmaya devam edersiniz, böylece sürekli bir eğri elde edersiniz. Bu iyi oynanan bir yılan oyununa benzemeli
Çözmenin sonucu, her pikseli tam olarak bir kez içeren bir piksel sırası olmalıdır
Reraveling
Pikseller için bir siparişiniz olduğunda, sözde Hilbert eğrisinin yolunu izleyerek onları yeni eşit boyutta bir tuvalde yeniden düzenleyeceksiniz. Bir İçin 2**n
büyüklüğünde kare görüntünün Eğer sözde Hilbert eğrisinin inci iterasyon kullanmalıdır. Her piksel yeni tuval üzerinde tam olarak bir noktaya yerleştirilecektir. Resmi, orijinal olarak sol üstteki nokta (yılan eğrimizin başlangıcı) orada kalacak ve sağ altta (yılan eğrimizin sonu) sağ üst noktaya yerleştirilecek şekilde yeniden yapıştırmalısınız.
I / O
Programınız veya işleviniz, standart yöntemlerle belirtilen kısıtlamaların bir görüntüsünü almalı ve standart yöntemler yoluyla başka bir görüntü çıkarmalıdır.
puanlama
Bu kod , en az baytlık kazanılan kod golf programıdır.
Örnekler
Giriş
Çıktı
Giriş
Çıktı
Giriş
Çıktı
Herhangi bir pikselin eksik olmadığından emin olmak için boş bir beyaz veya düz renkli görüntü üzerinde test yapmanızı da öneririm.
Cevaplarınıza kendi sonuçlarınızı eklemekten çekinmeyin!