İnsanların düzenli olarak karşılaştıkları 97 ASCII karakteri var. Dört kategoriye ayrılırlar:
Harfler (toplam 52)
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzRakamlar veya Rakamlar (toplam 10)
0123456789Semboller ve Noktalama işaretleri (toplam 32)
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~Boşluk (toplam 3)
Boşluk
, sekme\tve yeni satır\n. (Yeni satır değişkenlerini\r\nbir karakter gibi ele alırız .)
Kısaca, sırasıyla bu kategorilere L, N, S ve W diyeceğiz.
İstediğiniz harflerin 24 permütasyonundan birini seçin LNSWve kendiniz için bir programlama şablonu oluşturmak için süresiz olarak tekrarlayın.
Örneğin, permütasyonu seçebilirsiniz NLWS, böylece programlama şablonunuz şöyle olacaktır:
NLWSNLWSNLWSNLWSNLWS...
Bu şablonu temel alan bir program veya işlev yazmanız gerekir, burada:
Her
Lbiri herhangi bir harfle (ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz) değiştirilir.Her
Nbiri herhangi bir sayı (0123456789) ile değiştirilir .Her
Sbiri herhangi bir sembolle (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~) değiştirilir.Her
Wbiri herhangi bir boşluk karakteri (\t\n) ile değiştirilir .
Temel olarak, kodunuz modeli takip etmelidir
<letter><number><symbol><whitespace><letter><number><symbol><whitespace>...
soru başlığının önerdiği gibi, isterseniz dört karakter kategorisinden farklı bir sıralama seçebilirsiniz.
Bunu not et:
Bir kategori için değiştirmeler farklı karakterler olabilir. örneğin
9a ^8B\t~7c\n]geçerli olarak şablona uygunNLWSNLWSNLWS(\tve\nonların gerçek karakterleri olacaktır).Kod uzunluğu kısıtlaması yoktur. örneğin
1A +2B -ve1A +2Bve1Ave1hepsi şablona uygundurNLWSNLWSNLWS....
Şablonla uyumlu kodunuzun yapması gereken , tek bir ASCII karakterinde yer almak ve yukarıdaki kategorideki hangi kategoriye üye olduğuna bağlı olarak 0 ile 4 arasında bir sayı çıkarmak. Yani, 1eğer girdi bir harfse, 2bir sayı, 3bir sembol, ve 4boşluk ise çıktı. 0Giriş bunların hiçbiri değilse çıkış ( kontrol karakteri ).
Giriş için, alternatif olarak giriş ASCII karakterinin kodunu temsil eden 0 ila 127 arasında bir sayı alabilirsiniz.
Giriş (karakter kodu olarak) ve çıkış çiftleri, kodunuzun sahip olması gereken tam olarak aşağıdaki gibidir:
in out
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 4
10 4
11 0 or 4
12 0 or 4
13 0 or 4
14 0
15 0
16 0
17 0
18 0
19 0
20 0
21 0
22 0
23 0
24 0
25 0
26 0
27 0
28 0
29 0
30 0
31 0
32 4
33 3
34 3
35 3
36 3
37 3
38 3
39 3
40 3
41 3
42 3
43 3
44 3
45 3
46 3
47 3
48 2
49 2
50 2
51 2
52 2
53 2
54 2
55 2
56 2
57 2
58 3
59 3
60 3
61 3
62 3
63 3
64 3
65 1
66 1
67 1
68 1
69 1
70 1
71 1
72 1
73 1
74 1
75 1
76 1
77 1
78 1
79 1
80 1
81 1
82 1
83 1
84 1
85 1
86 1
87 1
88 1
89 1
90 1
91 3
92 3
93 3
94 3
95 3
96 3
97 1
98 1
99 1
100 1
101 1
102 1
103 1
104 1
105 1
106 1
107 1
108 1
109 1
110 1
111 1
112 1
113 1
114 1
115 1
116 1
117 1
118 1
119 1
120 1
121 1
122 1
123 3
124 3
125 3
126 3
127 0
Girişler 11, 12, ve karakterlerin 13 tekabül bazen boşluk kabul böylece onların çıkışları olabilir 0veya 4istediğiniz gibi.
Bayt cinsinden en kısa kod kazanır.