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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Bohes_
4 / 4 / 0
Регистрация: 18.06.2013
Сообщений: 51
07.08.2013, 03:06     Задача Очередь #1
Очередь
(Время: 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;}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.08.2013, 03:06     Задача Очередь
Посмотрите здесь:

Структура "Очередь" (задача) C++
C++ Очередь С++
очередь C++
Задача на очередь (вывод сообщения, что очередь пуста) C++
C++ Задача по STL (Создать объект-контейнер, очередь с приоритетом, заполнить ее данными, тип char)
C++ Очередь (сделать очередь, чтобы добавляло, удаляло, читало. Не STL.)
C++ Очередь
C++ Очередь (задача из Лафоре)
Очередь целых чисел, генератор случайного числа, и задача C++
Создать очередь. Добавить элемент в очередь. Удалить элемент из очереди C++
Очередь, теория. Очередь на шести стеках C++
Исправление fillMaze (задача на алгоритм Ли и очередь) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
AntonChik
1083 / 581 / 21
Регистрация: 11.11.2008
Сообщений: 1,544
07.08.2013, 06:52     Задача Очередь #2
Цитата Сообщение от Bohes_ Посмотреть сообщение
Почему мое решение выдает иногда неверный ответ?

Не по теме:

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



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

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

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

Если if (a > 145) превратить a>=145, то вообще валится на первом тесте
Yandex
Объявления
07.08.2013, 07:14     Задача Очередь
Ответ Создать тему
Опции темы

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