Skip to content

Latest commit

 

History

History
75 lines (59 loc) · 3.32 KB

Gnomes.md

File metadata and controls

75 lines (59 loc) · 3.32 KB

Гномий фейс-контроль

В гномьем подземелье работает широко известный клуб «Мятый эльф» с очень строгим фейс-контролем. На входе в клуб находится охранник и проверяет посетителей по ряду критериев.

Данные

Есть критерии для отбора с кодовыми обозначениями и диапазонном значений.

Первичные:

  • L - рослость [1..200]
  • B - длина бороды [0…100]
  • W - воинственность [0…10]
  • G - рыжесть [0…10]

Вторичные:

  • H - квадратность головы [0…10]
  • E - запах пива [0…10]
  • A - размер топора [0…300]

Некоторые качества строго положительны – чем больше, тем лучше. Это длина бороды, рыжесть и воинственность. Остальные параметры хороши не всегда. Вторичные параметры могут зависеть от первичных.

У охранника есть свои взгляды на мир и требования к посетителю.

Например, у Жралина такие требования:

  • рослость – от 100 до 160
  • длина бороды – от 30
  • рыжесть – от 5
  • квадратность головы – от 4 до 7
  • размер топора – от рослости

А у Кралина такие:

  • рослость – от 120
  • длина бороды – от 40
  • рыжесть – от 3
  • размер топора – от 80 до рослости
  • запах пива – от рыжести до воинственности

Краткая запись критериев имеет один из видов:

  • X:N-M, где X - код качества, а N - либо целое число в соответствующем диапазоне, либо код другого критерия (если это вторичное качество). Для строго положительных качеств такой записи не может быть

  • X:N - качество X, ограниченное только снизу значением N по той же логике Например, L:100-120 означает «рослость от 100 до 120», а A:L - «размер топора больше рослости».

Задача – проверить каждого посетителя по критериям охранника и либо впустить его в клуб с уважением, либо прогнать без уважения.

Вход

Оценочное суждение охранника вида L:100-120 B:30 G:5 H:4-7 A:L

Качества посетителя вида L:132 B:40 W:4 G:8 H:1 E:8 A:222

Выход

true или false – прошёл ли посетитель контроль.

Пример 1

Вход:

L:100-160 B:30 G:5 H:4-7 A:L
L:132 B:40 W:4 G:8 H:5 E:8 A:122

Выход:

false

Пример 2

Вход:

L:100-160 B:30 G:5 H:4-7 A:L
L:132 B:40 W:4 G:8 H:5 E:8 A:222

Выход:

true