Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Bohes_
4 / 4 / 0
Регистрация: 18.06.2013
Сообщений: 51
#1

Задача Очередь - C++

07.08.2013, 03:06. Просмотров 1757. Ответов 4
Метки нет (Все метки)

Очередь
(Время: 1 сек. Память: 16 Мб Сложность: 20%)
Студент Василий живет в общежитии. Отделение банка, в котором он производит оплату за проживание, имеет всего две кассы, поэтому почти всегда длинная очередь к ним. Первая касса открывается в 8.00, вторая – в 8.05. Последний клиент будет принят в 20.00. Очередь единая, и очередной клиент обслуживается, как только освобождается одна из касс. На обслуживание одного клиента уходит ровно 10 минут. Василий приходит ровно в 8.00 и видит, сколько человек стоит перед ним. Требуется определить, сколько времени ему придется простоять в очереди, и вообще обслужат ли его сегодня.

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

Входной файл INPUT.TXT содержит единственное натурально число K – номер Василия в очереди (K < 250).

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

В выходной файл OUTPUT.TXT выводится строка «NO», если Василий сегодня заплатить уже не успеет, и время его ожидания (в формате «X Y», где X – количество целых часов, которые простоит в очереди Василий, и Y – количество минут), если все же успеет заплатить.
Почему мое решение выдает иногда неверный ответ?
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <fstream>
int main()
{
    int a;
    std::fstream f("input.txt");
    std::ofstream o("output.txt");
    f >>a;
    if (a > 145)
        o<<"No"; else {
    a = 5*(a-1);
    
    o<<a/60<<' '<<a%60;}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.08.2013, 03:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задача Очередь (C++):

Задача на очередь (вывод сообщения, что очередь пуста) - C++
Доброго дня! Есть задачка на очередь, которая работает нормально, только надо добавить код, чтобы выводил сообщение, что очередь пуста.....

Очередь (задача из Лафоре) - C++
Задача 9 из Лафоре: Надо написать класс queue, имеющий два метода: put() для помещения элемента в очередь и get() для извлечения элемента...

Исправление fillMaze (задача на алгоритм Ли и очередь) - C++
Имеется задача про нахождение кратчайшего пути в лабиринте до цели. В fillMaze используется алгоритм Ли. Также для решения задачи...

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

Задача по STL (Создать объект-контейнер, очередь с приоритетом, заполнить ее данными, тип char) - C++
Помогите,пожалуйста, заранее спасибо)) Вот задание: 1. Создать объект-контейнер, очередь с приоритетом, заполнить ее данными, тип...

Сформировать очередь по файлу целых чисел. Промоделировать очередь в супермаркете - C++
Сформировать очередь по файлу целых чисел. Промоделировать очередь в супермаркете. В каждый момент времени происходит одно из событий:...

4
AntonChik
1084 / 582 / 21
Регистрация: 11.11.2008
Сообщений: 1,544
07.08.2013, 06:52 #2
Цитата Сообщение от Bohes_ Посмотреть сообщение
Почему мое решение выдает иногда неверный ответ?

Не по теме:

кассирша выбегает покурить



а почему у вас 145 а не 137?
0
Bohes_
4 / 4 / 0
Регистрация: 18.06.2013
Сообщений: 51
07.08.2013, 07:07  [ТС] #3
Рабочий день---12 часов=720минут. Каждые 5 минут освобождается касса:720/5 = 144.

Добавлено через 2 минуты
Но так как первый человек ждет 0 минут, получается максимальная очередь за день---145

Добавлено через 3 минуты
Вот эта задача на сайте проверяющей системы
0
AntonChik
1084 / 582 / 21
Регистрация: 11.11.2008
Сообщений: 1,544
07.08.2013, 07:10 #4
Цитата Сообщение от Bohes_ Посмотреть сообщение
http://********/index.asp?main=task&id_task=511
Задача №0 не найдена!
тогда уж 143, последнего вторая касса не успеет обслужить
0
Bohes_
4 / 4 / 0
Регистрация: 18.06.2013
Сообщений: 51
07.08.2013, 07:14  [ТС] #5
Цитата Сообщение от AntonChik Посмотреть сообщение
тогда уж 143, последнего вторая касса не успеет обслужить
Вы можете найти задачу под номером 511


Если if (a > 145) превратить a>=145, то вообще валится на первом тесте
0
07.08.2013, 07:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.08.2013, 07:14
Привет! Вот еще темы с ответами:

Очередь (сделать очередь, чтобы добавляло, удаляло, читало. Не STL.) - C++
Помогите пожалуйста написать очередь. Есть Температура double и ее тип int ну и нужно сделать очередь, чтобы добавляло, удаляло, читало....

Очередь, теория. Очередь на шести стеках - C++
Здравствуйте, пытаюсь побольше найти информации про очереди и их применение в программировании. Из того что я нашел, все описывается лишь...

Структура "Очередь" (задача) - C++
Помогите, пожалуйста, разобраться со структурой &quot;Очередью&quot;. Выбивает ошибки в двух строчках - 11 и 15. Подозреваю, что сам код неточно...

Создать очередь. Добавить элемент в очередь. Удалить элемент из очереди - C++
Нужно создать очередь. Добавить элемент в очередь. Удалить элемент из очереди. Вот моё &quot;творение&quot;. int main() { int...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru