12067. Розміщення ПК


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

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

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

Плануючи розмістити багато ПК у своїй кімнаті, Степан вирішив написати код, який визначає, скільки ПК він може розмістити у своїй кімнаті.

Вам надано \(H\) рядків \(S_1 ​,S_2 ​ ,…,S_H\) ​ довжиною \(W\) кожен, що складається з '.' і \(Т\).

Степан може виконати наступну операцію будь-яку кількість разів (можливо, нуль):

  • Виберіть цілі числа, які задовольняють \(1≤i≤H\) і \(1≤j≤W−1\), щоб \(j\)-й і (\(j+1\))-й символи \(S_i\) ​ обидва є \(T\). Замініть \(j\)-й символ \(S_i\) ​ на \(P\), а (\(j+1\))-й на \(C\).

Він намагається максимально збільшити кількість виконання операції. Знайти можливі результуючі \(S_1 ​ , S_2 ​ ,…, S_H ​ \).

Обмеження

  • \(1≤H≤100\)
  • \(2≤W≤100\)
  • \(H\) і \(W\) є цілими числами.
  • \(S_i\) — рядок довжини \(W\), що складається з '.' і \(Т\).

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

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

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

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

У вихідний потік виведіть послідовність рядків \(S_1 ​ , S_2 ​ ,…, S_H ​ \), розділених символами нового рядка, які, можливо, є результатом максимізації кількості разів виконання операції. Якщо існує декілька розв’язків, виведіть будь-який з них.

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

2 3
TTT
T.T

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

PCT
T.T

Він може зробити операцію не більше одного разу.

Наприклад, операція з \((i,j)=(1,1)\) робить \(S_1\) PCT.

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

3 5
TTT..
.TTT.
TTTTT

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

PCT..
.PCT.
PCTPC

Коментарі

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