Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.07.2014, 10:11   #21
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Код:
#include <fstream>
#include <vector>
#include <algorithm>
 
#define INF 10000000
 
using namespace std;
 
struct line
{
    int from, send_time, to, arr_time;
};
 
bool cmp(const line a, const line b)
{
    return a.send_time < b.send_time;
}
 
int main()
{
    ifstream cin("input.txt");
    ofstream cout("output.txt");
 
    int n, from, to, m;
    cin >> n >> from >> to >> m;
 
    vector<line> b(m);
    vector<int> p(n+1, INF);
    p[from] = 0;
 
    for (int i = 0; i < m; i++)
        cin >> b[i].from >> b[i].send_time >> b[i].to >> b[i].arr_time;
 
    sort(b.begin(), b.end(), cmp);
 
    for (int i = 0; i < m; i++)
        if (b[i].send_time >= p[b[i].from]) p[b[i].to] = min(p[b[i].to], b[i].arr_time);
 
 
    if (p[to] != INF)
        cout << p[to];
    else cout << -1;
}
Бинго! Прошло..
Разница в одном символе.. (Надо заканчивать писать ночью)..
Спасибо!
Poma][a вне форума Ответить с цитированием
Старый 20.07.2014, 10:33   #22
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

эм, дак я чем-то помог ?
rrrFer вне форума Ответить с цитированием
Старый 20.07.2014, 10:49   #23
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
эм, дак я чем-то помог ?
Ну.. Вы предложили прекрасную идею.. А то, что она не работает, скорее всего виноват исключительно я.. Снова косякнул.. или не придумал хорошего контр. примера..

Вариант Somebody я до сих пор не понимаю.. Не понимаю почему это работает.. и работает правильно..
(Ведь если есть путь из a в b и из b в c.. маршрут начинается в момент времени T. И едет автобус из a в b за 0.. Но мы отсортировали таким макаром, что b->c стоит раньше.. и тогда т.к. в p[b] стоит INFINITY, что мы даже не будем смотреть это ребро.. Я прав?)
Получается, что если что так можно искать минимальный путь в графе?? (наверное с неким ограничением на ребра..)..
Poma][a вне форума Ответить с цитированием
Старый 20.07.2014, 21:42   #24
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Да, что-то я не подумал о таком Видимо, там тестов на это не было.
Тогда можно, например, для каждой группы рейсов с нулевым временем сначала делать топологическую сортировку.
Somebody вне форума Ответить с цитированием
Старый 20.07.2014, 21:42   #25
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Да, что-то я не подумал о таком :( Видимо, там тестов на это не было.
Тогда можно, например, для каждой группы рейсов с нулевым временем делать поиск в глубину.

Последний раз редактировалось Somebody; 20.07.2014 в 21:46.
Somebody вне форума Ответить с цитированием
Старый 21.07.2014, 00:23   #26
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
для каждой группы рейсов с нулевым временем сначала делать топологическую сортировку.
Цитата:
для каждой группы рейсов с нулевым временем делать поиск в глубину.
Всё же что именно?

P.S. Если вдруг, кому-то захочется поразбирать чужой корявый код, то прошу к посту 24
Poma][a вне форума Ответить с цитированием
Старый 21.07.2014, 18:34   #27
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Цитата:
Сообщение от 'Poma
Всё же что именно?
Поиск в глубину. Хотя топологическая сортировка тоже реализуется через поиск в глубину - просто лишняя работа потом ещё будет.
Somebody вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Постоянно слетает галочка "автоматически" в "Параметры Excel", "Формулы", "Вычисления в книге" Alexsandrr Microsoft Office Excel 4 19.10.2013 14:22
Олимпиадная задача "Золото племени АББА" на Pascal (№7 с acmp.ru) Ghost3 Помощь студентам 19 17.01.2013 21:04
Задача "Лампочки" на Pascal (№337 с acmp.ru) Ghost3 Помощь студентам 18 01.11.2012 14:10
Олимпиадная задача "Встреча" (на поиск оптимального маршрута, графы) woofer46 Фриланс 2 15.01.2012 15:26
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04