Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Часть сборника.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
488.45 Кб
Скачать

Отгадай слово Условие

Хрюша и Степашка играют в игру «Отгадай слово». Правила игры просты. Хрюша придумывает слово, состоящее из букв латинского алфавита, придумывает загадку и загадывает её Степашке. Задача Степашки — отгадать слово.

Каждая буква слова, придуманного Хрюшей, может быть закрытой либо открытой. В начале игры все буквы закрыты.

Ход Степашки заключается в том, что Степашка называет любую букву латинского алфавита.

  1. Если такая буква есть в слове и все такие буквы закрыты, то все они открываются.

  2. Если такая буква есть в слове и все такие буквы открыты, то все они закрываются.

  3. Если такой буквы нет в слове, то никакие буквы не открываются и не закрываются.

Требуется написать программу, которая читает из входного файла слово, придуманное Хрюшей, а также последовательность букв, которые назвал Степашка, и выводит в выходной файл информацию о том, какие буквы после окончания игры оказались закрытыми, а какие — открытыми.

Формат входного файла

Входной файл содержит ровно две строки.

Первая строка входного файла состоит из маленьких букв латинского алфавита и представляет собой слово, придуманное Хрюшей.

Вторая строка входного файла также состоит из маленьких букв латинского алфавита и представляет собой последовательность букв, которые называет Степашка (буквы идут в том порядке, в котором их называет Степашка).

Формат выходного файла

Требуется вывести в выходной файл ровно одну строку, имеющую такую же длину, что и первая строка входного файла, и представляющую собой слово, придуманное Хрюшей, в котором могут присутствовать закрытые буквы.

Если i-я буква открыта, то i-й символ выходной строки должен совпадать с i-м символом первой строки входного файла.

Если же буква закрыта, то соответствующий символ выходной строки должен быть '.' (точка).

Ограничения

Количество букв в слове от 1 до 15.

Количество ходов Степашки от 1 до 20.

Входные данные таковы, что если в ходе игры Степашка отгадал все буквы слова, то игра заканчивается и Степашка больше не называет буквы (входной файл на этом заканчивается).

Примеры тестов

Входной файл

Выходной файл

1

frog

or

.ro.

2

frog

oro

.r..

3

frog

fffrrroooog

fr.g

4

frog

golf

f.og

5

frog

gorf

frog

Разбор

Заведём массив переменных логического типа. Ячейка массива будет хранить true, если соответствующая буква слова открыта, и false, если соответствующая буква слова закрыта.

Будем просматривать буквы, которые называет Степашка, по очереди. Для каждой буквы просмотрим все буквы слова, и если в слове встретилась буква, названная Степашкой, то значение в соответствующей ячейке массива изменяется на противоположное.

program guess_word;

var

word: string;

letters: string;

word_len: integer;

letters_count: integer;

opened: array[1..15] of boolean;

i, j: integer;

begin

assign(input, 'input.txt');

reset(input);

assign(output, 'output.txt');

rewrite(output);

readln(word);

readln(letters);

word_len := length(word);

letters_count := length(letters);

for i := 1 to word_len do

opened[i] := false;

for i := 1 to letters_count do

begin

for j := 1 to word_len do

begin

if (word[j] = letters[i]) then

opened[j] := not opened[j];

end;

end;

for i := 1 to word_len do

begin

if (opened[i]) then

write(word[i])

else

write('.');

end;

close(input);

close(output);

end.