Є 97 персонажів ASCII, з якими люди стикаються регулярно. Вони поділяються на чотири категорії:
Букви (52 всього)
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Числа або цифри (всього 10)
0123456789
Символи та пунктуація (всього 32)
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
Пробіл (3 усього)
Пробіл
\t
та новий рядок\n
. (Ми розглянемо варіанти нових рядків,\r\n
як один символ.)
Для стиснення ми назвемо ці категорії L, N, S і W відповідно.
Виберіть будь-яку з 24 перестановок бажаних літер LNSW
і повторіть її нескінченно, щоб сформувати для себе шаблон програмування.
Наприклад, ви можете вибрати перестановку NLWS
, тож ваш шаблон програмування буде таким:
NLWSNLWSNLWSNLWSNLWS...
Вам потрібно написати програму або функцію на основі цього шаблону, де:
Кожен
L
замінюється будь-якою літерою (ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
).Кожен
N
замінюється будь-яким числом (0123456789
).Кожен
S
замінюється будь-яким символом (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
).Кожен
W
замінюється будь-яким символом пробілу (\t\n
).
В основному, ваш код повинен відповідати шаблону
<letter><number><symbol><whitespace><letter><number><symbol><whitespace>...
як підказує заголовок питання, за винятком випадків ви можете вибрати інше впорядкування чотирьох категорій символів, якщо це потрібно.
Зауважте, що:
Заміни для категорії можуть бути різними символами. наприклад,
9a ^8B\t~7c\n]
дійсно відповідає шаблонуNLWSNLWSNLWS
(\t
і\n
це буде їх буквальна характеристика).Немає обмежень щодо довжини коду. наприклад ,
1A +2B -
і1A +2B
та1A
і1
все відповідає шаблономNLWSNLWSNLWS...
.
Що повинен відповідати шаблону коду, це взяти один нерозширений символ ASCII та вивести число від 0 до 4, залежно від того, до якої категорії він входить у вищезазначеній категорії. Тобто виведіть, 1
якщо введенням є літера, 2
якщо число, 3
якщо символ і 4
пробіл. Виведіть, 0
якщо вхід не має жодного з цих ( контрольний символ ).
Для введення можна альтернативно взяти число від 0 до 127 включно, що представляє код вхідного символу ASCII.
Вхідні дані (як char код) та парами виводу, які повинен мати ваш код, мають бути наступними:
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
Входи 11, 12 і 13 відповідають символам, які іноді вважаються пробілами, тому їхні виходи можуть бути 0
або 4
за вашим бажанням.
Виграє найкоротший код у байтах.