Напишіть найкоротшу програму, яка чекає натискання кожної клавіші американської клавіатури Standard 101 *, а потім закінчує запис OK!
Кожного разу, коли натискається клавіша, програма відображає в новому рядку решту кількість незатиснених унікальних клавіш, які потрібно натискати, поки всі клавіші не будуть натиснуті принаймні один раз. Програма повинна мати можливість протестувати 101 клавіатуру і перевірити, чи працює кожна клавіша. Тому натискання клавіші або введення двічі дозволено до тих пір, поки це вказано користувачеві.
Натискання однієї і тієї ж клавіші двічі і більше не повинно порушити код і не змінити кількість відображених клавіш, що залишилися.
Всі ключі ( Left Shift, Right Shift, Right Control, Esc, Enterі т.д.) повинні бути включені.
У цьому виклику важливі фактичні клавіші клавіатури, тому з точки зору програми ( A
і a
, однакові, так 6
і є ^
).
Комбіновані клавіші не будуть зареєстровані як комбінована команда, і лише окремі клавіші будуть зареєстровані, якщо натиснути Ctrl+ Alt+ Del, що буде рахуватись для всіх окремих клавіш у комбінації, що натискається. Тому не потрібно натискати також великі літери, якщо ви вже натискали малі літери і навпаки.
Цифрові клавіші на цифровій клавіатурі відрізняються з точки зору програми, так що вони по - , як і раніше необхідно натиснути на програму до кінця, якщо у вас є ноутбук або будь-який інший клавіатури , яка не має стандарт США 101 розкладку клавіатури вас не може виконати виклик, якщо ви не підключите сумісну клавіатуру.
* Клавіатури, на яких є клавіша Fn та клавіша ноутбука, не підтримуватимуться для виконання цього виклику
Це перелік клавіш для розкладки клавіатури США стандарт 101:
backspace
tab
enter
right shift
right ctrl
right alt
left shift
left ctrl
left alt
print screen
pause/break
caps lock
escape
page up
page down
end
home
left arrow
up arrow
right arrow
down arrow
insert
delete
0
1
2
3
4
5
6
7
8
9
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
numpad 0
numpad 1
numpad 2
numpad 3
numpad 4
numpad 5
numpad 6
numpad 7
numpad 8
numpad 9
multiply
add
subtract
decimal point
numpad enter
divide
f1
f2
f3
f4
f5
f6
f7
f8
f9
f10
f11
f12
num lock
scroll lock
semi-colon
equal sign
comma
dash
period
forward slash
grave accent
open bracket
back slash
close braket
single quote
space