Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
1 / 1 / 0
Регистрация: 03.06.2020
Сообщений: 13

Путешествие со свиньями

26.08.2020, 00:08. Показов 5105. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Путешествие со свиньями
У свинофермера Васи есть свиноферма рядом с городом М. Он решил навестить своего друга в городе С.-П. По дороге из М. в С.-П. расположено N городов, в которых свинина пользуется стабильным спросом. Вася решил совместить приятное с полезным и заработать немного денег. Он взял с собой N свиней и решил продавать по одной свинье в каждом из городов.

Цены на свиней в разных городах разные. В j-м городе за один килограмм живого веса платят Pj рублей. Расстояние до j-го города по дороге из М. в С.-П. равно Dj километров.

Васины свиньи имеют разные веса. Перевозка одного килограмма свиньи на один километр обходится в T рублей.

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

Входные данные

Первая строка входных данных содержит числа N(1≤N≤1000) и T(1≤T≤109) . Вторая строка содержит N чисел Wi, задающих вес Васиных свиней (1≤Wi≤109) . Третья строка содержит N чисел Di, задающих расстояния до города i от М(1≤Di≤109) . Четвёртая строка содержит N чисел Pi, задающих цены в городах (1≤Pi≤109) . Все числа целые.

Выходные данные

Выведите N чисел. j-е число должно быть номером свиньи, которую следует продать в j-м городке. Свиньи нумеруются с 1 в том порядке, как они перечислены во входном файле.


Ввод
3 1
10 20 15
10 20 30
50 70 60
Вывод
3 2 1

У меня такой вот код, но на проверке он проходит только первые 13 тестов, на следующие 7 пишется, что неправильный формат вывода. И я даже понятия не имею, с чем это связано. Если кто-нибудь понимает, как можно решить эту проблему, пожалуйста, скажите. И да, я знаю, что эта задача уже обсуждалась на форуме, и решение у них в ответе совершенно по другому принципу построено, если я все правильно поняла, но мне очень интересно, что же не так с моим кодом и моим методом решения.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def define_const(c,S):
    return c-S*T
n,T=map(int,input().split())
weight=list(map(int,input().split()))
const=[]
distances=list(map(int,input().split()))
worths=list(map(int,input().split()))
indices_const=[]
indices_weight=[]
for i in range(n):
    const.append(define_const(worths[i],distances[i]))
for i in range(n):
    indices_const.append(const.index(max(const)))
    const[indices_const[-1]]=0
for i in range(n):
    indices_weight.append(weight.index(max(weight)))
    weight[indices_weight[-1]]=0
vocabulary=dict()
for i in range(n):
    vocabulary[indices_const[i]]=indices_weight[i]
for key in sorted(vocabulary.keys()):
    print(vocabulary[key]+1,end=' ')
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.08.2020, 00:08
Ответы с готовыми решениями:

Путешествие со свиньями
У свинофермера Васи есть свиноферма рядом с городом М. Он решил навестить своего друга в городе С.-П. По дороге из М. в С.-П. расположено N...

Путешествие
Доброго времени суток! Помогите пожалуйста решить эту задачу: Ваш друг решил отправиться в путешествие по городам страны, которых...

Путешествие по мирам
Путешественник Мориорти любит путешествовать между мирами. Он знает n миров. Массив a описывает n порталов, с помощью которых он может...

8
16 / 14 / 4
Регистрация: 05.06.2019
Сообщений: 79
26.08.2020, 10:23
Что говорит отладчик? Какие входные данные для неудачных тестов?
0
1 / 1 / 0
Регистрация: 03.06.2020
Сообщений: 13
26.08.2020, 11:03  [ТС]
Если бы все было так легко... В том-то и дело, что я без понятия, какие входные данные там вводятся, просто получаю результат, что что-то пошло не так...
0
16 / 14 / 4
Регистрация: 05.06.2019
Сообщений: 79
26.08.2020, 11:50
TukTukL,
Бегло посмотрел код, прочитал условие. Заметил ошибку в логике решения.
У вас N свиней, в то время как функция define_const(c, s) рассчитывает стоимость перевозки для одной свиньи за раз.
Python
1
2
for i in range(n):
    const.append(define_const(worths[i],distances[i]))
Массив должен заполнятся стоимостью для суммы всех Wi, исключая каждый наибольший (уменьшая сумму на вес одной свиньи) на шаге итерации. Вывод, решая на бумаге, соответственно, другой (3 1 2). Возможно, для ваших 13 тестов подбирались удачные для кода значения. Но опять же, это на первый взгляд. Приду домой, подумаю. Перепроверьте код

На какой платформе задачи решаете?

Добавлено через 14 минут
Прошу прощения, бессоная ночь
Вывод верный.
0
1 / 1 / 0
Регистрация: 03.06.2020
Сообщений: 13
26.08.2020, 14:00  [ТС]
Платформа Сириус.Курсы, проверяю кол-во правильных и неправильных ответов на informatics.
0
Эксперт Python
8840 / 4492 / 1864
Регистрация: 27.03.2020
Сообщений: 7,312
26.08.2020, 14:32
...
0
1 / 1 / 0
Регистрация: 03.06.2020
Сообщений: 13
26.08.2020, 15:28  [ТС]
Какие-то проблемы?
0
Эксперт Python
8840 / 4492 / 1864
Регистрация: 27.03.2020
Сообщений: 7,312
26.08.2020, 15:54
Лучший ответ Сообщение было отмечено TukTukL как решение

Решение


Нашел "ошибку"

Добавлено через 3 минуты
Вы в 14-й и 17-й строках вес и себестоимость приравниваете "0", думая, что это минимум списков.
На самом деле себестоимость может быть отрицательной. А так как входные данные ограничены 10^9, то себестоимость может быть = -10^27
Нужно ввести
Python
1
eps = -(1e28)
И приравнивать не "0", а "eps"
1
1 / 1 / 0
Регистрация: 03.06.2020
Сообщений: 13
26.08.2020, 17:21  [ТС]
То есть вы имеете в виду, что стоимость на один килограмм свиньи или ее вес может быть отрицательным числом?

Добавлено через 6 минут
И правда работает... Как я поняла, перевозка свиньи может в некоторых случаях обойтись дороже, чем ее цена в городе, поэтому число может быть отрицательным. Это то, что вы имели в виду? Спасибо большое за помощь!!

Добавлено через 2 минуты
И еще, можно в в строчке 17 оставить '0', так как вес свиньи не может быт отрицательным или нулевым))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.08.2020, 17:21
Помогаю со студенческими работами здесь

Путешествие по таблице
Путешествие по таблице В прямоугольной таблице NxM в начале игрок находится в левой верхней клетке. За один ход ему разрешается...

Путешествие по матрице
Еще задача: Вам дана нижнетреугольная матрица из n строк (i-й ряд состоит ровно из i элементов, располо- женных в столбцах с...

Путешествие в прошлое
Вот такая тема: Представте что вам предоставился один единсвенный шанс в жизни побывать в прошлом. Вопрос: в какое время бы вы...

Путешествие продавца
Ограничение по времени: 1 секунда Ограничение по памяти: 64 мегабайта Как обычно, кому-то надо продать что-то во многих городах....

Путешествие Андрея
Андрей едет из пункта A в пункт B на автомобиле. Расстояние между этими пунктами равно N километров. Известно, что с полным баком...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru