Yönlendirilmiş bir Hamilton yolu 3 × 3 ızgarada düzenlenebilir 40 yol vardır :
Bu grafik ( Sp3000 sayesinde ) sadece 20 yönlendirilmemiş yolu gösterir. Her bir renkli çizgiyi, 40 yönlendirilmiş yol için her iki yönde hareket ettirin.
Meydan okuma
Yalnızca yazdırılabilir ASCII kullanarak , 3 × 3 karakter ızgarasını yazın, örneğin:
ABC
DEF
GHI
40 yönlendirilmiş yolların her biri 40 tek hat, 9-karakter programları gibi bu ızgaradan okunduğunda amaç için bu Doing 40'a 1'den benzersiz tamsayı her program çıkışına sahip olmaktır tüm 40 yolları zor ve zor görünüyor, bu yüzden sadece olabildiğince çok yol için çalışmasını sağlamalısın.
40 yol programı 1 - 40 arasında en belirgin rakamları veren gönderim kazanacaktır. Tiebreaker daha önceki bildirime gidiyor.
Hata yapan veya 1 ile 40 arasında bir tam sayı çıkarmayan ya da daha önce kapsanan başka bir yol programının sayılmadığı bir tamsayı veren yol programları. özellikle:
- Derleme, çalıştırma veya çıkış sırasında hata yapan programlar sayılmaz. Uyarılar tamam.
- 1 ile 40 arasında bir tam sayı çıkarmayan
-35
veya35 36
sayıları gibi az hatalı biçimlendirilmiş bir şey çıkaran programlar . - Çıktıyı üretmek için kullanıcı girişi gerektiren programlar sayılmaz.
- Hiç bitmeyen programlar sayılmaz.
- Bundan sonra , deterministik olmayan programlar sayılmaz.
- Aksi halde, 1'den 40'a kadar bir tamsayı çıkaran geçerli programlar, başka bir geçerli programın zaten çıktı verdiğini saymaz. (İlk program olan sayılır.)
- Yalnızca 1'den 40'a kadar olan sayıların tam sayı gösterimini veren programlar toplamınız için sayılır. Sayılar olağan olması bekleniyor
1
,2
, ...,39
,40
o diliniz için norm olmadıkça biçimi. (Çıktıdaki takip eden yeni satır iyi.) - Programlarınızın hangi sayıların çıktılarını ve hangi sırayla olduklarının önemi yoktur. Yalnızca geçerli programlardan gelen farklı tam sayıların sayısı önemlidir.
Tüm yol programları aynı dilde çalıştırılmalıdır. Bununla birlikte, "programlar" aslında hedefleri tamsayılarını basan ya da döndüren tam programların yanı sıra fonksiyonlar (gerekli argümanlar olmadan) veya REPL komutları olabilir. İşlevler, REPL komutları ve tüm programlar arasında karıştırabilir ve eşleştirebilirsiniz.
Yazdırılabilir 9 ASCII karakterinizin farklı olması gerekmez.
Örnek
Senin 3 × 3 ızgara olsaydı
ABC
DEF
GHI
40 programın ve çıktıların buna benziyordu.
ABCFEDGHI -> 26
ABCFIHEDG -> 90
ABCFIHGDE -> 2
ABEDGHIFC -> syntax error
ADEBCFIHG -> prints 40 but then errors
ADGHEBCFI -> 6
ADGHIFCBE -> 6
ADGHIFEBC -> 6
CBADEFIHG -> runtime error
CBADGHEFI -> 3
CBADGHIFE -> 4
CFEBADGHI -> -32
CFIHEBADG -> 38.0
CFIHGDABE -> "36"
EDABCFIHG -> 33
EFCBADGHI -> no output
EHGDABCFI -> compilation error
EHIFCBADG -> 8
GDABCFEHI -> 22
GHEDABCFI -> 41
IHGDEFCBA -> 0
GDEHIFCBA -> '9'
EDGHIFCBA -> +10
CFIHGDEBA -> 11
GHIFCBEDA -> error
IFCBEHGDA -> error
EBCFIHGDA -> prints 23 but then loops infinitely
CBEFIHGDA -> randomly prints either 24 or 44
GHIFEDABC -> error
IFEHGDABC -> 30
EFIHGDABC -> 39
IHGDABEFC -> 7
GDABEHIFC -> 29
EBADGHIFC -> -1
GHIFCBADE -> 26
IHGDABCFE -> 1
IFCBADGHE -> error
GDABCFIHE -> no output
IHEFCBADG -> no output
IFCBADEHG -> "quack"
puanın 14 olacaktı, çünkü 1'den 40'a kadar geçerli 14 çıktı var 26 2 6 3 4 33 8 22 11 30 39 7 29 1
.
123654789