Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
1 / 1 / 1
Регистрация: 25.02.2017
Сообщений: 150

У кого больше королев?

12.08.2024, 21:32. Показов 1014. Ответов 8

Студворк — интернет-сервис помощи студентам
В далёкой стране игроки собрались вместе, чтобы сыграть в увлекательную карточную игру. В их колоде было 54 карты, включая 4 карты каждой масти от 2 до короля, а также 2 джокера. Игроки получили по 13 карт, и две карты ушли в сброс.

После раздачи карт игроки по очереди заявили, сколько у них королев. Однако неизвестно, кто из них мог врать.

Вам нужно выяснить, какое минимальное количество игроков могло соврать о количестве королев.

Формат ввода
В единственной строке входного файла даны 4 целых числа

0≤a,b,c,d≤9) — количество королев у каждого игрока, по их словам.

Формат вывода
Выведите одно число

— минимальное количество игроков, которые могли соврать.

Примечание
В первом примере по словам игроков у них суммарно 10 королев. Соврало как минимум два игрока. Например, возможно такое, что у первого игрока 0 королев, у второго 2, у третьего 1, у четвертого 1. Тогда первый и третий игрок соврали.

Во втором примере у каждого игрока могло быть по одной королеве, и в таком случае только четвертый игрок соврал.

В третьем примере возможна раздача карт, при которой не соврал никто.

Пример 1
Ввод
3 2 4 1
Вывод
2
Пример 2
Ввод
1 1 1 2
Вывод
1
Пример 3
Ввод
1 1 1 1
Вывод
0

Код ниже эти примеры отрабатывает правильно.

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
def solution(number):
    total_queens = sum(number)
    
    # Если сумма королев не превышает 4, никто не соврал
    if total_queens < 4:
        return 0
    
    # Сортируем в порядке убывания
    counts = sorted(number, reverse=True)
    
    # Считаем минимальное количество игроков, которые могли соврать
    liars = 0
    while total_queens > 4:
        total_queens -= counts[liars]
        liars += 1
    
    return liars
 
def main():
    number = list(map(int, input().split()))
    print(solution(number))
 
if __name__ == '__main__':
    main()

Решение не проходит другие скрытые тесты. Кто-то намекнул про 0 0 0 0. И? Ответ будет 2? Но все равно все тесты пройти не могу. Так чего этот код не учитывает?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.08.2024, 21:32
Ответы с готовыми решениями:

У кого больше :)
Здравствуйте! Имеется таблица (допустим db_user), в ней колонки user, money (колонка money содержит только цифры). Нужно вывести пять...

у кого больше делителей!
дано два числа проверить у кого больше делитель. Добавлено через 6 минут у кого больше делителей!

А кого больше на форуме: мужчин или женщин?
а давайте посмотрим мужиков на форуме много или женщин:)

8
Вирусоборец
 Аватар для thyrex
14444 / 7486 / 1579
Регистрация: 06.09.2009
Сообщений: 27,129
12.08.2024, 23:42
0 0 0 0 ответ 2
1 0 0 0 ответ 1
0
13.08.2024, 08:13

Не по теме:

В колоде карт вообще нет королев, есть дамы. Кто составляет подобные задачи..

0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
14.08.2024, 12:36
Цитата Сообщение от u235 Посмотреть сообщение
В колоде карт вообще нет королев, есть дамы. Кто составляет подобные задачи..

Не по теме:

В каком-то матриархальном королевстве тузы обозвали королевами, что тут такого?



Добавлено через 1 минуту

Не по теме:

Опять же в английских колодах - королевы, а не дамы



Добавлено через 4 минуты
Цитата Сообщение от Valery99 Посмотреть сообщение
Так чего этот код не учитывает?
Цитата Сообщение от Valery99 Посмотреть сообщение
# Если сумма королев не превышает 4, никто не соврал
Количество королев на руках от 2 до 4.

Добавлено через 1 минуту
Цитата Сообщение от Valery99 Посмотреть сообщение
Кто-то намекнул про 0 0 0 0. И? Ответ будет 2?
Почему 2?
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
14.08.2024, 21:07
Цитата Сообщение от Red white socks Посмотреть сообщение
Почему 2?
так ведь две карты идут в сброс, и они обе могут быть "королевами", поэтому врут как минимум два игрока.
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
14.08.2024, 22:06
Цитата Сообщение от u235 Посмотреть сообщение
поэтому врут как минимум два игрока.
Почему один игрок не может собрать всех королев?
0
Вирусоборец
 Аватар для thyrex
14444 / 7486 / 1579
Регистрация: 06.09.2009
Сообщений: 27,129
15.08.2024, 01:29
Ну вообще да, я выше был неправ.

Для 0 0 0 0 и 0 0 0 1 ответ будет 1.
Для 0 0 0 2 (0 0 1 1) и 0 0 1 2 (0 1 1 1) ответ 0 (исходим из того, что среди отброшенных карт как раз 2 королевы или 1 королева)
0
15.08.2024, 02:16

Не по теме:

u235, дама, королева или шлюха: каким образом это вообще влияет на задачу? Не хотите или не можете решить, так и признайте. Не нужно лукавить...

0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
15.08.2024, 07:06
Red white socks, если один игрок собрал всех, то при 0 0 0 0 - врут все 4 игрока. А нужно минимальное число лжецов.
Два лжеца будет минимум при любом варианте.

Добавлено через 1 час 5 минут
Red white socks, да, был не прав, прошу прощения. Если один игрок собрал 4, то лжет только он один.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.08.2024, 07:06
Помогаю со студенческими работами здесь

У кого вероятность больше вытащить счастливый билет
Среди 25 экзамен билетов имеется 5 счастливых и 20 несчастливых. Студенты подходят за билетами один за другим по очереди. У кого больше...

Как узнать, кого больше всего зарегистрировали в базу?
мир всем и привет ! Как узнать кого больше всего зарегистрировали в базу ? пример у меня в базе есть: Пучка Пучка Пучка Пучка ...

У кого больше шансов получить минимальный выигрыш и во сколько раз?
Значит задача такая: Иван и Петр купили по две карточки &quot;Спортлото 6 из 49&quot;. Иван заполнил одну карточку сам, а другую попросил...

Вывести фамилии студентов, у кого есть две двойки и больше
Анкета студента: фамилия, имя, отчество, возраст, пол, группа, буква группы, оценки по пяти предметам. Существует пять таких записей. ...

Файл записей. Вывести фамилии пассажиров, у кого больше 3х вещей
помогите пожалуйста в решении задачи. Создать файл записей содержащий поля: фамилия пассажира, номер рейса, и количество вещей богажа....


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru