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

Найти минимальное время, за которое автомобиль перевезет три груза со склада в магазин и вернется назад

30.11.2019, 14:53. Показов 1149. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имя входного файла: input.txt
Имя выходного файла: output.txt
Маша помогает папе в разработке логистики товаров со склада в магазин. У папы есть машина с грузоподъёмностью М тонн. Эта машина с грузом расстояние от склада до магазина проезжает за t1 минут, а без груза - за t2 минут. Маша взялась написать программу, которая определит минимальное время, за которое папин автомобиль перевезет три груза массами m1,m2,m3 тонн со склада в магазин и вернется обратно на склад. помогите ей в разработке такого программного обеспечения. Обратите внимание, что за один рейс можно перевести несколько грузов, но "по частям" груз перевозить нельзя!
Формат входных данных: Во входном файле input.txt записаны шесть целых чисел в такой последовательности: M,t1t2,m1,m2,m3(1<=mi<=M<=100,1<=t2<t1<1 00)
Формат выходных данных: В выходной файл output.txt выведите минимальное время, за которое папин автомобиль сможет перевезти все три груза со склада в магазин и вернуться обратно на склад.
Примеры input.txt:10,15,20,5,3,4 output.txt:70 input.txt:10,5,10,10,10,10 output.txt:45
В 1-м примере надо сделать два рейса в магазин и обратно: 15+20+15+20=70. Во втором примере надо сделать три рейса в магазин и обратно 3*(5+10)=45.

Желательно сделать на C#, можно и на другом
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.11.2019, 14:53
Ответы с готовыми решениями:

Как найти минимальное время которое удовлетворяет условие?
Входные данные В первой строке заданы два целых числа N и K (1 ≤ N ≤ 100 – количество миссий, 0 ≤ K ≤ 10000 – количество...

Найти минимальное время, за которое можно поджарить все котлеты
Добрый день, хочу представить вашему вниманию небольшую задачку: На сковородке одновременно можно положить k котлет. Каждую котлету...

Случилась пессимизация, вернется ли все назад...
Блин, попратиковался в &quot;оптимизации&quot;... Покавырялся с сайтом ради интереса, за что сайт был пессимизирован. По ВЧ запросу (8000 в месяц по...

1
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
30.11.2019, 23:38
C#
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
using System.Collections.Generic;
using System.IO;
using System.Linq;
 
namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            // загрузка данных из txt. Полагаем, что там всё корректно, числа через зяпятую в одну строчку и тп.
 
            // здесь считывается первая строка из файла, разбивается по запятым на отдельные строки,
            // затем удаляются возможные пробелы
            // и каждая строка переводится в число.
            int[] inputData = File.ReadAllLines("input.txt")[0].Split(',').Select(s => int.Parse(s.Trim())).ToArray();
 
            int M = inputData[0];
            int t1 = inputData[1];
            int t2 = inputData[2];
 
            List<int> m123 = new List<int>();
            m123.Add(inputData[3]);
            m123.Add(inputData[4]);
            m123.Add(inputData[5]);
 
 
            // Когда грузчик Толик опоздал, но всё же пришёл на работу на склад,
            // то вежливо просим его расставить товар от тяжелого к лёгкому,
            // так как ему же самому будет удобнее и быстрее грузить потом машину.
            m123 = m123.OrderByDescending(x => x).ToList();
 
            // Если внезапно обнаружилось, что есть единица товара, вес которого превышает общую вместимость машины,
            // либо есть невесомый товар, который придётся грузить бесконечно,
            // то Толик увольняется и дальнейшая судьба склада его больше не интересует.
            if (m123.FindIndex(i => (i > M || i <= 0)) != -1)
            {
                return;
            }
 
            int time = 0; // Маша старательно записывает общее время поездок
            int mTmp = 0; // текущая загруженность машины
 
            // пока на складе есть груз..
            while (m123.Count > 0)
            {
                // .. и в машину ещё можно грузить (по весу)..
                while (mTmp < M)
                {
                    // Толик, по очереди (от тяжелых к лёгким) ищет тот груз на складе, вес которого ещё не перегрузит машину..
                    int addT = m123.FirstOrDefault(x => x <= M - mTmp);
 
                    // если такой груз найден, то Толик бурча себе под нос, тащит груз в машину,
                    if (addT != 0)
                    {
                        m123.Remove(addT);
                        mTmp += addT;
 
                    }
                    // иначе, если такого подходящего груза нет, тогда машина отправляется в магазин с тем что есть и Толик идёт на перекур,
                    else
                    {
                        break;
                    }
                }
 
                // добаляется время поездки в магазин и обратно
                time += t1 + t2;
 
                // приехали пустые
                mTmp = 0;
            }
 
            // создаём/записываем выходные данные
            File.WriteAllText("output.txt", time.ToString());
 
        }
    }
}
Добавлено через 6 минут

Не по теме:

Цитата Сообщение от qwerasdfz Посмотреть сообщение
от склада до магазина проезжает за t1 минут, а без груза - за t2 минут.
Цитата Сообщение от qwerasdfz Посмотреть сообщение
Формат входных данных... M,t1t2,m1,m2,m3
Цитата Сообщение от qwerasdfz Посмотреть сообщение
input.txt:10,15,20,5,3,4
Цитата Сообщение от qwerasdfz Посмотреть сообщение
input.txt:10,5,10,10,10,10
Просто странно, что пустая машина всегда возвращается дольше, чем загруженная.. Здесь какая-то тайна (у папы).

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.11.2019, 23:38
Помогаю со студенческими работами здесь

Минимальное время, за которое гости съедят блины
Всем доброго времени суток! N гостей сидят за столом, и перед каждым стоит тарелка с блинами. На тарелке i-го гостя лежит ai блинов....

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

Определить минимальное количество переправ, которое придется совершить во время похода
№4. Поход Группа школьников решила сходить в поход вдоль реки-Иртыш. У реки-Иртыш существует множество притоков, которые могут впадать...

Определяющую минимальное время, которое необходимо для обработки всех кубиков
Необходимо решить задачу по олимпиаде по информатике и сказали что я буду учавствовать а я угу в паскале. Помогите решить и объесните...

Определить минимальное время, через которое может произойти встреча всех роботов
Задача: Между N пунктами (N&lt;=50) заданы дороги длиной A(i,j), где I,J-номера пунктов. Дороги проложены на разной высоте и пересекаются...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru