12111. Склеїти паліндром


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Вам надано \(N\) рядків \(S_1 ​, S_2 ​ ,…, S_N ​\), які складаються з малих англійських літер.

Визначте, чи існують різні цілі числа \(i\) та \(j\) між 1 і \(N\) включно, такі що конкатенація \(S_i\) ​ та \(S_j\) ​ у цьому порядку є паліндромом.

Рядок \(T\) довжини \(M\) є паліндромом тоді і тільки тоді, коли \(i\)-й символ і \((M+1−i)\)-й символ \(T\) однакові для кожного \(1≤i≤M\).

Обмеження

  • \(2≤N≤100\)
  • \(1≤∣S_i ∣≤50\)
  • \(N\) є цілим числом.
  • \(S_i\) — це рядок, що складається з малих літер англійського алфавіту.
  • Усі \(S_i\) є різними.

Формат вхідних даних

Перший рядок містить ціле число \(N\).

Наступні  \(N\) рядків містять \(S_i\).

Формат вихідних даних

У вихідний потік виведіть відповідь: Yes або No.

Приклад вхідних даних

5
ab
ccef
da
a
fe

Приклад вихідних даних

Yes

Якщо взяти \((i,j)=(1,4)\), конкатенація \(S_1 ​ =ab\) і \(S_4 ​ =a\) в цьому порядку є \(aba\), що є паліндромом, що задовольняє умову. Отже, Yes.

Тут ми також можемо прийняти \((i,j)=(5,2)\), для якого конкатенація \(S_5 ​ =fe\) та \(S_2 ​ =ccef\) у цьому порядку є feccef, що задовольняє умову.

Приклад вхідних даних

3
a
b
aba

Приклад вихідних даних

No

Приклад вхідних даних

2
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Приклад вихідних даних

Yes

Коментарі

Ще немає коментарів.