0 ile 7 arasındaki sayıları bir küpün 8 köşesine istediğiniz şekilde atayın. Her tepe noktasına tam olarak bir sayı atanmalıdır.
Örneğin, köşeleriniz şu şekilde atanabilir:
3-----1
/| /|
4-----2 |
| | | |
| 5---|-0
|/ |/
6-----7
0'dan 5'e kadar bir tamsayı alan bir program yazın. Bu 6 sayının her biri, küpünüzün tam olarak bir yüzü ile istediğiniz şekilde ilişkilendirilir. Bu sayılardan biri girildiğinde, ilişkili yüzün 4 tepe noktası numarası, 2 × 2 basamaklı basamakta stdout'a yazdırılmalıdır. Yüz, küpün dışından düz olarak görülmelidir. 4 yüz rotasyonunun tümü geçerlidir.
Örneğin, 0, yukarıdaki örnek küpün ön yüzü ile ilişkiliyse, bu giriş için geçerli bir çıktı olur 0
:
42
67
Yüz herhangi bir 90 ° döndürmede görüntülenebilir, bu nedenle bunlar da geçerlidir:
27
46
76
24
64
72
Bu çıktı (ve dönüşleri) , yüzün yanlış tarafından görüntülendiğinden geçerli değildir :
24
76
Aynı fikir diğer tüm yüzler için de geçerlidir. Örneğin, 1 arka yüzle ilişkiliyse, girdi 1
çıktı üretebilir 13[newline]05
(ve 31[newline]50
geçersiz olur).
Yani asıl zorluk, tepe noktası sayılarını ve rotasyonlarını seçerek girdiyi 4 tepe noktasına çevirmek kolay ve kısa olacaktır.
Bayt cinsinden en kısa kod kazanır. Tiebreaker daha önceki gönderi. ( Kullanışlı bayt sayacı. )
notlar
- Program yerine bir işlev yazabilirsiniz. 0 ile 5 arasında bir tamsayı almalı ve 2 × 2 basamaklı ızgara dizesini yazdırmalı veya döndürmelidir.
- Stdin, komut satırı veya işlev arg'dan girdi alın. Girişin geçerli olduğunu varsayabilirsiniz.
- Çıktı isteğe bağlı olarak bir satırsonu satırına sahip olabilir.
- Seçtiğiniz tepe ve yüz numaralarını bize bildirdiğinizden emin olun.