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

НАГРАДА 100 БАЛЛОВ. PYTHON. ЗАДАЧУ НЕОБХОДИМО РЕШИТЬ С ПОМОЩЬЮ ЦИКЛОВ И УСЛОВИЙ БЕЗ СТОРОННИХ МЕТОДОВ И Т.Д. ЗАДАЧА:
X мальчиков и Y девочек пошли в кинотеатр и купили билеты на подряд идущие места в одном ряду. Напишите программу, которая выдаст, как нужно сесть мальчикам и девочкам, чтобы рядом с каждым мальчиком сидела хотя бы одна девочка, а рядом с каждой девочкой — хотя бы один мальчик.

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

Пример 1:

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

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

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

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

Ответил Tomiu
1
  1.    bc = int(input('Введите кол-во мальчиков: '))
  2.    gc = int(input('Введите кол-во девочек: '))
  3.    bs, gs = 'B', 'G'
  4.    if bc < gc:
  5.        bc, gc = gc, bc
  6.        bs, gs = gs, bs
  7.    if gc * 2 < bc:
  8.        print('Ответ: Нет решения')
  9.    else:
  10.        print('Ответ: ', end='')
  11.        while gc < bc:
  12.            print(bs, gs, bs, sep='', end='')
  13.            bc -= 2
  14.            gc -= 1
  15.        for _ in range(gc):
  16.            print(gs, bs, sep='', end='')
Новые вопросы