- •Содержание
- •В ожидании Нового года Условие
- •Золотые яйца Условие
- •Отгадай слово Условие
- •Формат входного файла
- •Формат выходного файла
- •Ограничения
- •Примеры тестов
- •Инкубатор Бабы Яги Условие
- •Расписные салфеточки Условие
- •Сколько прошло дней? Условие
- •Арифметическая прогрессия Условие
- •Нарезка фантиков Условие
- •Шагающий циркуль Условие
- •Волшебные горшочки Бабы Яги Условие
- •Стиральный вопрос
- •Чудик в Цветландии Условие
- •Столовая Условие
- •Рейтинг студента Условие
- •Формат входного файла
- •Формат выходного файла
- •Ограничения
- •Примеры тестов
- •Лена и зеркало
- •Макет города Условие
- •Мосты-горки Условие
Отгадай слово Условие
Хрюша и Степашка играют в игру «Отгадай слово». Правила игры просты. Хрюша придумывает слово, состоящее из букв латинского алфавита, придумывает загадку и загадывает её Степашке. Задача Степашки — отгадать слово.
Каждая буква слова, придуманного Хрюшей, может быть закрытой либо открытой. В начале игры все буквы закрыты.
Ход Степашки заключается в том, что Степашка называет любую букву латинского алфавита.
Если такая буква есть в слове и все такие буквы закрыты, то все они открываются.
Если такая буква есть в слове и все такие буквы открыты, то все они закрываются.
Если такой буквы нет в слове, то никакие буквы не открываются и не закрываются.
Требуется написать программу, которая читает из входного файла слово, придуманное Хрюшей, а также последовательность букв, которые назвал Степашка, и выводит в выходной файл информацию о том, какие буквы после окончания игры оказались закрытыми, а какие — открытыми.
Формат входного файла
Входной файл содержит ровно две строки.
Первая строка входного файла состоит из маленьких букв латинского алфавита и представляет собой слово, придуманное Хрюшей.
Вторая строка входного файла также состоит из маленьких букв латинского алфавита и представляет собой последовательность букв, которые называет Степашка (буквы идут в том порядке, в котором их называет Степашка).
Формат выходного файла
Требуется вывести в выходной файл ровно одну строку, имеющую такую же длину, что и первая строка входного файла, и представляющую собой слово, придуманное Хрюшей, в котором могут присутствовать закрытые буквы.
Если 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.
