Programming contests

ECN selejtező programozó csapatverseny, 2015. április 19.

April 19, 2015 10:10 AM – April 19, 2015 3:10 PM

Ordering Tasks

John has n tasks to do. Unfortunately, the tasks are not independent, and the execution of one task is only possible if other tasks have already been executed. Your task is to find a possible order in which the tasks can be executed.

Input Specification

The input will consist of several instances of the problem. Each instance begins with a line containing two integers n and m (1 ≤ n ≤ 100). n is the number of tasks (numbered from 1 to n), and m is the number of direct precedence relations between tasks. After this, there will be m lines with two integers i and j, representing the fact that task i must be executed before task j.

An instance with n = m = 0 will finish the input.

Output Specification

For each instance, print a line with n integers representing the tasks in a possible order of execution. You may assume that there will be at least one such order.

Sample Input

  1. 5 4
  2. 1 2
  3. 2 3
  4. 1 3
  5. 1 5
  6. 0 0
download as text file

Output for Sample Input

  1. 1 4 2 5 3
download as text file
University of Debrecen; Faculty of Informatics; v. 03/01/2019