Задание
Расписание. Известно время начала и окончания (например, 6:00 и 24.00) работы некоторого пригородного автобусного маршрута с одним автобусом на линии, а также протяженность маршрута в минутах (в один конец) и время отдыха на конечных остановках. Составить суточное расписание этого маршрута (моменты отправления с конечных пунктов) без учета времени на обед и пересменку.
Код С++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include <iostream> using namespace std; int main() { int sh, sm; //описание переменных для хранения вводных данных int fh, fm; scanf("%d:%d", &sh, &sm); //чтение из стандартного потока ввода scanf("%d:%d", &fh, &fm); int start = sh*60+sm; //начало работы автобуса в минутах int finish = fh*60+fm; //конец работы автобуса в минутах int way, rest; //описание переменных scanf("%d %d", &(way), &(rest)); int x = way + rest; //описание и вычисление for(int t=start, i=0; t<finish; t+=x, i++){ printf("%02d:%02d %s", t/60, t%60, i % 2 ==0? "\t": "\n"); } return 0; } |
Код С++ на Ideone: http://ideone.com/8gyewh
Код Java
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 |
import java.util.*; import java.lang.*; import java.io.*; class Main { public static void main (String[] args) throws java.lang.Exception { Scanner read = new Scanner(System.in); int sh = read.nextInt(); //char sym = read.nextChar(); int sm = read.nextInt(); int fh = read.nextInt(); int fm = read.nextInt(); int way = read.nextInt(); int rest = read.nextInt(); int start = sh*60 + sm; int finish = fh*60 + fm; int x = way + rest; for(int t = start, i = 0; t < finish; t += x, i++){ System.out.print(t/60+":"+t%60); if(i%2 == 0) System.out.print("\t"); else System.out.print("\n"); } } } |
Комментарии
Зададим начало и конец работы автобуса, время затраченное на путь и время отдыха в минутах. Тогда на остановках он будет появляться через [latex] x [/latex] минут, где [latex] x [/latex] = протяженность маршрута в минутах (в один конец) + время отдыха на конечных остановках.
Тесты
Время начала работы автобуса | Время конца работы автобуса | протяженность маршрута в минутах (в один конец) | время отдыха на конечных остановках | Результаты | Комментарии | |
06:00 | 24:00 | 120 | 15 | 06:00
10:30 15:00 19:30 |
08:15
12:45 17:15 21:45
|
Пройден |
8:00 | 24:00 | 30 | 10 | 8:00
09:20 10:40 12:00 13:20 14:40 16:00 17:20 18:40 20:00 21:20 22:40 24:00 |
8:40
10:00 11:20 12:40 14:00 15:20 16:40 18:00 19:20 20:40 22:00 23:20
|
Пройден |
Всё хорошо, но
— отступы в 6-й и 14-й строке избыточные,
— таблица у Вас не получилась — данные вставлены уже после таблицы,
— нужна ссылка на Ваш код в ideOne.
Исправлено
Теперь всё хорошо. Зачтено.
Java-версия засчитана, 5 баллов.