16x16 yazdırılabilir ASCII karakterden oluşan bir ızgara alalım (kod noktaları 0x20 ila 0x7E). Sol üst köşeden sağ alt köşeye doğru 30 seçim-15 yolu vardır ve aşağıdaki örnekte olduğu gibi yalnızca dikey hareketler yapar:
##..............
.#..............
.######.........
......##........
.......##.......
........#.......
........#.......
........#.......
........###.....
..........###...
............#...
............####
...............#
...............#
...............#
Bu yolların her biri tam olarak 31 karakterden oluşur. Bu karakterlerin her birinin 31 anti-çaprazdan farklı olduğunu unutmayın:
0123456789ABCDEF
123456789ABCDEFG
23456789ABCDEFGH
3456789ABCDEFGHI
456789ABCDEFGHIJ
56789ABCDEFGHIJK
6789ABCDEFGHIJKL
789ABCDEFGHIJKLM
89ABCDEFGHIJKLMN
9ABCDEFGHIJKLMNO
ABCDEFGHIJKLMNOP
BCDEFGHIJKLMNOPQ
CDEFGHIJKLMNOPQR
DEFGHIJKLMNOPQRS
EFGHIJKLMNOPQRST
FGHIJKLMNOPQRSTU
Bu bir örnek ızgara değildir. Bu 31 anti-köşegenin bir görselleştirmesidir.
Aynı karakteri iki kez çapraz karakter içermiyorsa , ızgarayı benzersiz olarak adlandırırız . Izgara bu özelliğe sahipse, iki yol aynı dizeyi içermez. (Sadece görselleştirme kendisi temelde netleştirmek için ters çapraz eşsiz.)
Meydan okuma
Mümkün olduğunca Jabberwocky
çok dilde STDOUT'a (isteğe bağlı son satır sonu ile) yazdırılan geçerli kod olacak şekilde çapraz olarak benzersiz bir 16x16 ızgara tasarlayın . Her kod ya tam bir program ya da return deyimi olmadan parametresiz bir fonksiyonun gövdesi olabilir (bu, bazı kazan plakası işlevinde / sınıfında / ad alanında kodları olması gereken dilleri caydırmak için değildir ).
Not: Basitlik için Ypnypn gibi kullanılmayan hücreler için ayrılmış bir karakter kullanabilirsiniz .
Her geçerli yol için lütfen geçerli olduğu bir programlama dilini açıkça belirtin .
Kazanan, yukarıdaki listenin kapsadığı en fazla sayıda dile sahip olan gönderidir. (Alternatif olarak, saymak istediğiniz her dil için, o dilde geçerli olan bir yol gösterin, ancak iki dil için herhangi bir yol saymadığınızdan emin olun.)
Eşitlik halinde, olan ızgara hücreleri saymak değil herhangi bir geçerli yolu ile kaplı. Daha az kullanılmayan hücre kazanır. Hala varsa bir beraberlik , cevabı en (net) oyla kabul edeceğim.
Doğrulama Komut Dosyası
Bir ızgaranın çapraz olarak benzersiz olduğunu doğrulamak için kullanabileceğiniz küçük bir CJam snippet'ini hızlı bir şekilde bir araya getirdim.
- Git çevrimiçi CJam tercüman .
Aşağıdaki kodu yapıştırın
l:A; qN/W%A16**33/z{A-__|=}%:*"D""Not d"?"iagonally unique"
Girdi alanında, ilk satıra ayrılmış karakter koyun (ayrılmış bir karakterden dava açmazsanız kullanılmayan bir karakter kullanın) ve ardından ızgarayı 2'den 17'ye kadar olan satırda kullanın. Örneğin, Ypnypn'in cevabı için:
~ pr~~~~~~~~~~~~~ tin~~~~~~~~~~~~ ~ypt(~~~~~~~~~~~ ~~ef(~~~~~~~~~~~ ~~ "J~~~~~~~~~~ ~~~~~ab~~~~~~~~~ ~~~~~~be~~~~~~~~ ~~~~~~~rwo~~~~~~ ~~~~~~~~~ck~~~~~ ~~~~~~~~~~y~~~~~ ~~~~~~~~~~\n~~~~ ~~~~~~~~~~~")) ~ ~~~~~~~~~~~ ; ~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
Çalıştırmak.
Bir hata olduğunu düşünüyorsanız bana bildirin.