
Сто баллов на с++ или Python Для прохождения последнего уровня новой игры необходимо после
прохождения всех предыдущих уровней получить пароль, представляющий собой последовательность строчных английских букв. Во время игры пароль появляется на экране, но быстро исчезает. Василий трижды доходил в игре до последнего уровня и каждый раз записывал пароль на черновике. Некоторые символы Василий не успевал записать (он заменил их звездочками), а некоторые записал неправильно. Известно, что игра выдает данному участнику один и тот же пароль. Помогите Василию восстановить пароль. Программа искусственного интеллекта восстанавливает пароль по следующему алгоритму: если во всех трех записях 3 или 2 буквы в соответствующей позиции совпадают, то эта буква гарантированно входит в пароль на этой позиции; если в двух записях в соответствующей позиции «звездочки», а в третьей – буква, то она входит в пароль в соответствующей позиции; в остальных случаях восстановить букву в данной позиции невозможно, поэтому на этой позиции в пароле придется поставить звездочку. Технические условия. Программа читает с устройства стандартного ввода три строчки одинаковой длины, не более 1000 символов длиной – маленькие английские буквы или звездочки. Программа выводит на устройство стандартного вывода восстановленную строку – пароль, ПРИМЕР Введение password *saswodr *das*o*a Вывод p*aswo** Для проходження останнього рівня нової гри необхідно після проходження всіх попередніх рівнів отримати пароль, що являє собою послідовність маленьких англійських літер. Під час гри пароль з’являється на екрані, але дуже швидко зникає. Василько тричі доходив у грі до останнього рівня і щоразу записував пароль на чернетці. Деякі символи Василько не встигав записати (він замінив їх зірочками) , а деякі записав неправильно. Відомо, що гра видає даному учаснику один і той самий пароль. Допоможіть Васильку відновити цей пароль. Програма штучного інтелекту відновлює пароль за таким алгоритмом: якщо у всіх трьох записах 3 або 2 літери у відповідній позиції співпадають, то ця літера гарантовано входить до пароля на цій позиції; якщо у двох записах у відповідній позиції «зірочки», а у третьому – літера, то вона входить до пароля у відповідній позиції; у решті випадків відновити літеру у даній позиції неможливо, тому на цій позиції у паролі доведеться поставити зірочку. Технічні умови. Програма Password2022 читає з пристрою стандартного введення три рядки однакової довжини, не більші 1000 символів завдовжки – маленькі англійські літери або зірочки. Програма виводить на пристрій стандартного виведення відновлений рядок – пароль, ПРИКЛАД Введення password *saswodr *das*o*a Виведення p*aswo**

Ответы на вопрос

passw1 = str(input())
passw2 = str(input())
passw3 = str(input())
result = ''
for l in range(len(passw1)):
l1, l2, l3 = passw1[l], passw2[l], passw3[l]
l_string = l1+l2+l3
repeated_letters = [letter for letter in l_string if l_string.count(letter)>1]
if len(repeated_letters) == 0:
result += '*'
elif len(repeated_letters) == 2:
letter = repeated_letters[0]
if letter == '*':
result += l_string.replace('*', '')
else:
result += letter
else:
result += repeated_letters[0]
print(result)



Для решения этой задачи на языке программирования, например, на Python, можно использовать следующий алгоритм:
- Считать три строки ввода и сохранить их в переменные.
- Создать пустую строку-пароль, которая будет постепенно заполняться.
- Проитерироваться по символам в строках, сравнивая их на каждой позиции:
- Если все три символа совпадают или два символа являются звездочками и третий символ - буква, добавить этот символ в пароль.
- В противном случае добавить звездочку в пароль.
- Вывести полученный пароль.
Вот пример реализации на Python:
pythondef restore_password():
# Считываем строки ввода
password1 = input()
password2 = input()
password3 = input()
# Проверяем длину строк
if len(password1) != len(password2) or len(password1) != len(password3):
print("Строки разной длины")
return
# Восстановление пароля
password = ""
for i in range(len(password1)):
char1 = password1[i]
char2 = password2[i]
char3 = password3[i]
if char1 == char2 == char3:
password += char1
elif char1 == char2 != char3:
password += char1
elif char1 != char2 == char3:
password += char2
elif char1 == char3 != char2:
password += char1
else:
password += "*"
# Вывод пароля
print(password)
# Вызываем функцию для восстановления пароля
restore_password()
Вы можете скопировать этот код в среду разработки на языке Python и запустить его, чтобы получить результат восстановления пароля на основе введенных строк.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili