Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/88: Рейтинг темы: голосов - 88, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 23.10.2015
Сообщений: 94

Комбинации девочек и мальчиков

27.10.2015, 18:07. Показов 18428. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1)N мальчиков и M девочек пошли в кинотеатр и купили билеты на подряд идущие места в одном ряду. Определите, как нужно сесть мальчикам и девочкам, чтобы рядом с каждым мальчиком сидела хотя бы одна девочка, а рядом с каждой девочкой — хотя бы один мальчик.
ВХОДНЫЕ ДАННЫЕ

Вводятся два числа N и M в отдельных строчках. Оба числа - натуральные, не превосходящие 100.
ВЫХОДНЫЕ ДАННЫЕ

Выведите какую-нибудь строку, в которой будет ровно N символов B (обозначающих мальчиков) и M символов G (обозначающих девочек), удовлетворяющую условию задачи. Пробелы между символами выводить не нужно.
Если рассадить мальчиков и девочек согласно условию задачи невозможно, выведите строку NO SOLUTION.

ПРИМЕРЫ:
ВВОД
5
5
ВЫВОД
BGBGBGBGBG
ВВОД
5
3
ВЫВОД
BGBGBBGB
ВВОД
100
1
ВЫВОД
NO SOLUTION
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.10.2015, 18:07
Ответы с готовыми решениями:

Два списка имён: первый мальчиков, второй девочек
два списка имён: первый мальчиков, второй девочек; один список имён и число мальчиков, все имена мальчиков стоят вначале списка; ...

Посчитать самое популярное имя у мальчиков и девочек за весь период
нужно создать код для гендр пати и определить по нему вывод имён в таблице по мальчикам и девочкам. Посчитать самое популярное имя у...

Сделайте в Puthon два списка имён: первый — мальчиков, второй — девочек
Срочно! Заранее спасибо)

6
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
02.11.2015, 16:30
Лучший ответ Сообщение было отмечено Dark_Fail как решение

Решение

Python
1
2
3
4
5
6
7
8
9
N = int(input())
M = int(input())
a = ['B', 'G']
 
m, n = (N < M), (N >= M)
i, j = max(M,N), min(M,N)
print(''.join((a[m], a[n], (a[m] * 2+ a[n])*(i-j-1), 
              (a[m] + a[n])*(2*j - i - j//i), a[m]*(j % i // j)))
      if 1 <= i / j <= 2 else 'NO SOLUTION')
1
0 / 0 / 0
Регистрация: 23.10.2015
Сообщений: 94
02.11.2015, 23:05  [ТС]
она выводит NO SOLUTION при вводе 5 и 5
0
 Аватар для Vigi
641 / 481 / 179
Регистрация: 28.05.2012
Сообщений: 1,419
03.11.2015, 05:21
Лучший ответ Сообщение было отмечено Dark_Fail как решение

Решение

Цитата Сообщение от Dark_Fail Посмотреть сообщение
она выводит NO SOLUTION при вводе 5 и 5
замените на:
Python
1
2
3
print(''.join((a[m], a[n], (a[m] * 2+ a[n])*(i-j-1),
              (a[m] + a[n])*(2*j - i - j//i), a[m]*(j % i // j)))
      if i // j <= 2 else 'NO SOLUTION')
1
 Аватар для GorodetskiyKP
139 / 97 / 48
Регистрация: 22.10.2012
Сообщений: 234
03.11.2015, 07:39
Больше кода

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
def bg_line(boys, girls):
    maxs = max(boys,girls)
    mins = min(boys,girls)
    if (1.0 * maxs / mins > 2):
        result_line = 'NO SOLUTION'
    else:
        maxi, mini = 'B', 'G'
        if maxs == girls:
            maxi, mini = 'G', 'B'
        unpairs = list(maxi*(maxs - mins))
        mx_list = list(maxi*mins)
        mi_list = list(mini*mins)
        result_line = []
        for i in range(mins):
            result_line.append(mx_list.pop())
            result_line.append(mi_list.pop())
            if len(unpairs): 
                result_line.append(unpairs.pop())
        result_line = ''.join(result_line)
    return result_line
 
if __name__ == '__main__':
    boys = raw_input()
    girls = raw_input()
    print bg_line(int(boys), int(girls))
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
03.11.2015, 12:42
Цитата Сообщение от Vigi Посмотреть сообщение
if i // j <= 2
Нет. Тут без округления. 50/100 можно разместить, а вот 49/100 — нет.
1
 Аватар для Vigi
641 / 481 / 179
Регистрация: 28.05.2012
Сообщений: 1,419
03.11.2015, 14:57
Цитата Сообщение от Marinero Посмотреть сообщение
Нет. Тут без округления. 50/100 можно разместить, а вот 49/100 — нет.
ну да просто когда заметил уже время правки сообщения истекло... Смысл был условие поменять
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.11.2015, 14:57
Помогаю со студенческими работами здесь

Определите средний рост мальчиков и средний рост девочек
Известно количество учеников в классе и их рост (см.); рост мальчиков условно задан отрицательными числами. Определите средний рост...

Очередь из девочек и мальчиков.
ПАСКАЛЬ. В очереди стоят мальчики и девочки. В начале каждой минуты, если за каким-то мальчиком стоит девочка, то он меняется с ней...

В группе 10 мальчиков и 20 девочек
В группе 10 мальчиков и 20 девочек. Сколькими способами можно выбрать пару для танца? А три пары?

Мальчиков и девочек делят на группы
Я думаю так: p = \frac{C_{5}^{0}\cdot C_{5}^{1}\cdot C_{5}^{2}\cdot C_{5}^{3}\cdot C_{5}^{4}}{C_{25}^{5}} Верно?

Определить количество мальчиков и девочек
Ввести информацию по 10 школьникам (ФИО, пол, год рождения). Определить количество мальчиков и девочек. Вывести список каждых.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru