Получите вторую строку, изменив первую строку ⇐ C++
-
Anonymous
Получите вторую строку, изменив первую строку
CD — это аббревиатура от «Компакт-диск», формата хранения данных на цифровых оптических дисках.
Вам даны две строки. Обе строки содержат только буквы «C» и «D».
Ваша цель — выяснить, можно ли получить вторую строку, применив определенные операции к первой строке.
Операции:
[*]Вы можете добавить «CD» в конец строки. [*]Вы можете добавить «DCDC» в конец строки. [*]Вы можете добавить «CDDD» в конец строки. [*]Вы можете удалить последние 3 символа в конце строки, если длина строки больше или равна 3.
Формат ввода
x --> в первой строке длина первой строки.
S1 --> во второй строке первая строка.
y --> в третьей строке длина второй строки.
S2 --> в четвертой строке, вторая строка.
Формат вывода
Если можно получить вторую строку, выведите «YES», если нет, выведите «NO» (ответ выведите без кавычек).
Ограничения
[*]
1≤x,y≤2*10^5
[*]
S1 и S2 содержат только буквы «C» и «D».
Пример ввода
3 CCC 6 CCCDCD Пример вывода
ДА
Объяснение
CCC --> CCCDCDC (2-я операция)
CCCDCDC --> CCCD (4-я операция)
CCCD --> CCCDCD (1-я операция)
Я пытался решить эту проблему с помощью рекурсии, но не смог. Есть ли просто грубое решение? Наверное, есть какая-то хитрость, которую я не вижу.
CD — это аббревиатура от «Компакт-диск», формата хранения данных на цифровых оптических дисках.
Вам даны две строки. Обе строки содержат только буквы «C» и «D».
Ваша цель — выяснить, можно ли получить вторую строку, применив определенные операции к первой строке.
Операции:
[*]Вы можете добавить «CD» в конец строки. [*]Вы можете добавить «DCDC» в конец строки. [*]Вы можете добавить «CDDD» в конец строки. [*]Вы можете удалить последние 3 символа в конце строки, если длина строки больше или равна 3.
Формат ввода
x --> в первой строке длина первой строки.
S1 --> во второй строке первая строка.
y --> в третьей строке длина второй строки.
S2 --> в четвертой строке, вторая строка.
Формат вывода
Если можно получить вторую строку, выведите «YES», если нет, выведите «NO» (ответ выведите без кавычек).
Ограничения
[*]
1≤x,y≤2*10^5
[*]
S1 и S2 содержат только буквы «C» и «D».
Пример ввода
3 CCC 6 CCCDCD Пример вывода
ДА
Объяснение
CCC --> CCCDCDC (2-я операция)
CCCDCDC --> CCCD (4-я операция)
CCCD --> CCCDCD (1-я операция)
Я пытался решить эту проблему с помощью рекурсии, но не смог. Есть ли просто грубое решение? Наверное, есть какая-то хитрость, которую я не вижу.
Мобильная версия