Pagini recente » Cod sursa (job #2512996) | Cod sursa (job #952752) | Cod sursa (job #2745410) | Istoria paginii runda/eusebiu_oji_2015_cls9/clasament | Cod sursa (job #1705556)
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
public class Main {
static ArrayList<Integer>[] adj;
static int[] visited;
static ArrayList<Integer> sol;
static List<List<Integer>> g;
public static void dfs(int n) {
visited[n] = 1;
for (Integer x : g.get(n)) {
if (visited[x] != 1) {
dfs(x);
}
}
sol.add(n);
}
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new FileReader("sortaret.in"));
OutputStream out = new BufferedOutputStream(new FileOutputStream("sortaret.out"));
String tmp[] = bf.readLine().split(" ");
int n = Integer.parseInt(tmp[0]);
int m = Integer.parseInt(tmp[1]);
g = new ArrayList<>();
for (int i = 0; i <= n; i++) {
g.add(i, new ArrayList<Integer>());
}
sol = new ArrayList<>();
for (int i = 0; i < m; i++) {
tmp = bf.readLine().split(" ");
int x = Integer.parseInt(tmp[0]);
int y = Integer.parseInt(tmp[1]);
g.get(x).add(y);
}
visited = new int[n + 1];
for (int i = 1; i <= n; i++) {
if (visited[i] != 1) {
dfs(i);
}
}
for (int i = sol.size() - 1; i >= 0; i--) {
out.write((sol.get(i) + " ").getBytes());
}
out.write(("\n").getBytes());
out.flush();
out.close();
bf.close();
}
}