| Автор: | Королев Денис | Ограничение времени: | 1 сек | |
| Входной файл: | test.sql | Ограничение памяти: | 256 Мб | |
| Выходной файл: | test.log |
Как известно, на гоночный турнир «Формула 1» постоянно собирается множество желающих насладиться гонками на высокой скорости, но, к сожалению Российские команды в этом турнире учавствовать не могут, как, впрочем, и смотреть. По этому в России было решено заместить турнир и дать ему новое название «Бэтрайдер 1».
К вам обратилась команда «Ессеньтуки» за помощью в анализе разнообразных марок машин, чтобы на их основе сделать свою, лучшую машину. Для этого у них есть трасса, размеченная специальными регистраторами - участками, находящимися на всех перекрестках и поворотах дорог. Каждый регистратор способен только расспознать, какая марка машины проехала сквозь него и записать марку и время в таблицу Timestamps. Раз регистраторы стоят на всех перекрестках, организаторами было решено посчитать длину трассы между ними и добавить результаты в таблицу Road. Таким образом таблица Timestamps свидетельствует о моменте преодолевания машины определенного регистратора, а Road содержит в себе структуру трассы и расстояние между участками.
По данным из таблиц вам необходимо понять, на какой средней скорости двигались машины, отсортировать их в порядке убывания по ней и вывести упорядоченные марки и соответствующую среднюю скорость в метрах в секунду. Важно помнить, что машина может проехать один участок как несколько раз, так и ни разу.
CREATE TABLE IF NOT EXISTS Registers (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS Cars (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS Road (
reg_1_id INTEGER NOT NULL,
reg_2_id INTEGER NOT NULL,
distance INTEGER NOT NULL,
FOREIGN KEY (reg_1_id) REFERENCES Registers (id),
FOREIGN KEY (reg_2_id) REFERENCES Registers (id)
);
CREATE TABLE IF NOT EXISTS Timestamps (
reg_id INTEGER NOT NULL,
car_id INTEGER NOT NULL,
timestamp DATETIME NOT NULL,
FOREIGN KEY (reg_id) REFERENCES Registers (id),
FOREIGN KEY (car_id) REFERENCES Cars (id)
);
Схема БД в UML-нотации:
Результатом выполнения запроса должен быть список кортежей
(name, avg_speed),
отсортированных по убыванию средней скорости, с округлением до целого числа.
Решение следует представить в виде текстового файла, содержащего единственный SQL-запрос.
Предполагается, что для работы с базой данных используется SQLite3.
| № | Входной файл (test.sql) |
Выходной файл (test.log) |
|---|---|---|
| 1 |
|
|