Вопрос:

19. Загадано имя файла и даны три маски файлов, однозначно определяющих это имя: ?*sk*?.*j?? *os?*al.*p? m?*kv*?.??g Известно, что имя загаданного файла состоит из семи символов, а расширение из трех. В ответе укажите имя этого файла (семь символов и три, разделенные точкой).

Ответ:

Решение:

Проанализируем каждую маску, учитывая, что имя файла состоит из 7 символов, а расширение из 3.

Маска 1: ?*sk*?.*j??

  • Имя: '?' (1 символ) + '*' (произвольное количество символов) + 'sk' (2 символа) + '*' (произвольное количество символов) + '?' (1 символ). Общее количество символов в имени должно быть 7.
  • Расширение: '.' (точка) + 'j' (1 символ) + '?' (1 символ) + '?' (1 символ). Общее количество символов в расширении должно быть 3.
  • Подставляя известные буквы и учитывая длину, получаем: \( \text{? _ _ _ _ _ ?} . \text{j _ _} \)

Маска 2: *os?*al.*p?

  • Имя: '*' (произвольное) + 'os' (2 символа) + '?' (1 символ) + '*' (произвольное) + 'al' (2 символа). Общее количество символов в имени должно быть 7.
  • Расширение: '.' (точка) + 'p' (1 символ) + '?' (1 символ). Общее количество символов в расширении должно быть 3.
  • Подставляя известные буквы и учитывая длину, получаем: \( \text{_ _ os ? _ al} . \text{p _} \)

Маска 3: m?*kv*?.??g

  • Имя: 'm' (1 символ) + '?' (1 символ) + '*' (произвольное) + 'kv' (2 символа) + '*' (произвольное) + '?' (1 символ). Общее количество символов в имени должно быть 7.
  • Расширение: '.' (точка) + '?' (1 символ) + '?' (1 символ) + 'g' (1 символ). Общее количество символов в расширении должно быть 3.
  • Подставляя известные буквы и учитывая длину, получаем: \( \text{m ? _ kv _ ?} . \text{??g} \)

Объединяем информацию из масок, чтобы найти конкретное имя файла:

  • Из маски 1: Имя начинается с ?, затем '*', 'sk', '*', '?'. Расширение: '.j??'.
  • Из маски 2: Имя: '*os?*al.'. Расширение: '.p?'.
  • Из маски 3: Имя: 'm?*kv*?.'. Расширение: '.??g'.

Сравниваем расширения:

  • Маска 1: .j??
  • Маска 2: .p?
  • Маска 3: .??g

Нет совпадений в расширениях. Внимательно перечитываем условие. Маски однозначно определяют имя файла. Значит, должны быть совпадения.

Проверим условие