• Формула N

    Оценка за задачу: 30 баллов

    В гонках "Формулы N" участвует N машин. В результате квалификационного заезда машины получили порядковые номера и стартовали в порядке от 1 до N.

    Вася - страстный поклонник гонок, но у него в общежитии плохой интернет и он не может смотреть видео-трансляцию. Поэтому он вынужден читать текстовую трансляцию, в которой все сообщения имеют вид "Машина номер X обогнала машину номер Y".

    Вася ненадолго отвлекся и перестал понимать текущий порядок машин на трассе. Помогите ему понять, в каком порядке расположены машины по известным сообщениям с начала текстовой трансляции.

    Формат входных данных

    В первой строке заданы два натуральных числа N и M (1 ≤ N, M ≤ 100000) - количество машин и сообщений об обгоне соответственно.

    В следующих M строках содержатся описание сообщений об обгоне: пары чисел X и Y (1 ≤ X, Y ≤ N) - машина X обогнала машину Y. Гарантируется, что машина Y ехала непосредственно перед машиной X на момент сообщения.

    Формат результата

    Выведите N чисел - порядок, в котором находятся машины после обработки всех сообщений.

    Примеры

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

    3 4
    2 1
    3 1
    3 2
    1 2
    Результат работы

    3 1 2

Ответы 6

  • PascalABC.NET 3.2 сборка 1341 от (20.11.2016).
    • Автор:

      brennen
    • 6 лет назад
    • 0
  • А вообще, в задании не указан язык программирования
    • Автор:

      magicfnvf
    • 6 лет назад
    • 0
  • да. но указывать в каком языке вы решили вообще говоря обязательно
    • Автор:

      ryan701
    • 6 лет назад
    • 0
  • только паскаль можно не уточнять, или если язык указан в вопросе
    • Автор:

      micah
    • 6 лет назад
    • 0
  • это в том числе для удобства отбивания претензий пользователей у которых программа не работает
    • Автор:

      hays
    • 6 лет назад
    • 0
  • var   n, m, x, y, i: int64;    ar: array[1..100000]of int64;   ms: array[1..100000]of int64;  begin   read(n, m);   for i := 1 to n do    begin     ar[i] := i;     ms[i] := i;    end;   for i := 1 to m do    begin     read(x, y);     swap(ms[x], ms[y]);      swap(ar[ms[x]], ar[ms[y]]);    end;   for i := 1 to n do write(ar[i], ' ');  end. 
    • Автор:

      sanchez86
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years