Дана цепочка, состоящая из синих (B) и красных (R) точек. Нужно удалить наименьшее одинаковое количество синих и красных точек так, чтобы сначала шли только синие, а потом – только красные.
Входные данные
Входная строка содержит только символы 'B' и 'R' без пробелов.
Выходные данные
Нужно вывести полученную цепочку, в которой сначала идут только синие точки, а потом – только красные. Во второй строке нужно вывести количество удалённых (синих и красных) точек.
Примеры
Ввод
Вывод
BBBRBBRBRB
4
Вот мой код:
n = input()
s = ''
count = 0
for g in range(0, len(n)):
if g == len(n) - 1:
break
if n[g] == 'B' and n[g + 1] == 'B':
s += 'B'
continue
elif n[g] == 'B' and n[g + 1] == 'R':
if count == 0:
s += 'B'
else:
s += 'R'
continue
elif n[g] == 'R' and n[g + 1] == 'B':
s += 'R'
count += 1
continue
elif n[g] == 'R' and n[g + 1] == 'R':
continue
print(s)
print(count)
Что я делаю не так и какой вариант правильный
10 Мбайт / X = 2 621 440 бит/c
10 * 1024 * 1024 * 8 бит / X = 2 621 440 бит/c
83 886 080 бит / x = 2 621 440 бит/c
X = 83 886 080 бит / 2 621 440 бит/c = 32 c
ответ: За 32 секунды.
2) Пусть наибольший размер файла, который может быть передан через соединение со скоростью 256 000 бит/с за 10 минут, равен X. Следовательно, имеем уравнение:
X / 10 мин = 256 000 бит/c
X / 10 * 60 с = 256 000 бит/с
X / 600 c = 256 000 бит/с
X = 256 000 бит/с * 600 с = 153600000 бит = 19200000 байт = 18750 Кбайт
ответ: наибольший размер файла – 18750 Кбайт
3) В 2 байтах может уместится 65 536 разных значений, а именно столько разных цветов мы имеем. Значит, для хранения каждого пикселя нам надо 2 байта. 1024x800 = 1024*800 = 819 200 пикселей, а соответственно 2 * 819 200 = 1 638 400 байт.
Пусть время, за которое передают файл размером 1 638 400 байт со скоростью 102 400 бит/c, равно X. Следовательно, имеем уравнение:
1 638 400 байт / X = 102 400 бит/c
1 638 400 * 8 бит / X = 102 400 бит/c
13107200 бит / X = 102 400 бит/с
X = 13107200 бит / 102 400 бит/с = 128 c
ответ: 128 секунд.