Краткое пояснение
- задача сводится к тому, чтобы проверить, одинаковая ли кавычка стоит в начале и в конце строки.
- если первая и последняя кавычки совпадают и это одна из допустимых кавычек (например, " или '), ответ: ДА. Иначе: НЕТ.
Пошаговое решение (логика)
- Считываем строку s как есть (без лишних изменений внутри строки).
- Если длина s меньше 2 — нет открытой и закрытой кавычки одновременно → НЕТ.
- Пусть открывающая кавычка = s[0], закрывающая = s[-1].
- Если открывающая кавычка равна закрывающей и она является одной из допустимых кавычек (например, " или '), вывести ДА. Иначе вывести НЕТ.
Пример кода на Python import sys
s = sys.stdin.readline().rstrip('\n') # читаем строку как есть, без завершающего переводa строки
if len(s) >= 2 and s[0] in ('"', "'") and s[0] == s[-1]: print("ДА") else: print("НЕТ")
Пояснение к примерам
- "Строка" -> первая и последняя кавычка обе двойные: ДА
- "Данные' -> первая кавычка двойная, последняя кавычка одинарная: НЕТ
- Пример "'Тест'" (одна одинарная в начале и конце) -> ДА
- Пример "Текст" с другой расстановкой кавычек внутри не влияет на итог: смотрим только первую и последнюю.
Сложность
- Время: O(1) для проверки первых и последних символов (или O(n) если учитывать считывание строки).
- Память: O(1) дополнительной памяти.
Если хочешь, могу привести аналогичный код на C++ или другом языке. Также можно адаптировать под другие виды кавычек, расширив набор допустимых символов в условии.