Информатика, вопрос задал tapokcoverovish , 7 лет назад

Задача Python
X мальчиков и Y девочек пошли в кинотеатр и купили билеты на подряд идущие места в одном ряду. Напишите программу, которая выдаст, как нужно сесть мальчикам и девочкам, чтобы рядом с каждым мальчиком сидела хотя бы одна девочка, а рядом с каждой девочкой — хотя бы один мальчик.

На вход подаются два числа - кол-во мальчиков X и кол-во девочек Y. В ответе выведите какую-нибудь строку, в которой будет ровно X символов “B” (обозначающих мальчиков) и Y символов “G” (обозначающих девочек), удовлетворяющую условию задачи. Пробелы между символами выводить не нужно. Если рассадить мальчиков и девочек согласно условию задачи невозможно, выведите строку “Нет решения”.

Пример 1:

Введите кол-во мальчиков: 5
Введите кол-во девочек: 5
Ответ: BGBGBGBGBG
Пример 2:

Введите кол-во мальчиков: 5
Введите кол-во девочек: 3
Ответ: BGBGBBGB
Пример 3:

Введите кол-во мальчиков: 100
Введите кол-во девочек: 1
Ответ: Нет решения

Ответы на вопрос

Ответил FANTSCR1N
8

X = int(input('Введите кол-во мальчиков: '))

Y = int(input('Введите кол-во девочеке: '))

string = ''

if  X > Y:

   if X / Y <= 2:

       for _ in range(Y):

           string += 'BG'

       string = string.replace('BG', 'BGB', X-Y)

   else:

       string = 'Нет решений!'

else:

   if Y / X <= 2:

       for _ in range(X):

           string += 'GB'

       string = string.replace('GB', 'GBG', Y-X)

   else:

       string = 'Нет решений!'

print(string)


tapokcoverovish: спасибо большое, но можно решение через for
Новые вопросы