import java.util.*;
import java.lang.*;
import java.io.*;


class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int N, M; 
        N = Integer.parseInt(st.nextToken());
        M = Integer.parseInt(st.nextToken());

        
        ArrayList<Integer>[] graph = new ArrayList[N];
        for (int i=0; i<N; i++) {
            graph[i] = new ArrayList<Integer>();
        }

        // 들어가는 차수 저장 배열 
        int[] indgree = new int[N];

        // 그래프 작성
        for (int i=0; i<M; i++) {
            st = new StringTokenizer(br.readLine());
            int a = Integer.parseInt(st.nextToken())-1;
            int b = Integer.parseInt(st.nextToken())-1;
            graph[a].add(b);
            indgree[b] ++;
        }

        StringBuilder sb = new StringBuilder();
        
        Queue<Integer> q = new ArrayDeque<>();
        int num_of_free = 0;
        
        for (int i=0; i<N; i++) {
            if(indgree[i] == 0) q.add(i);    
        }
        
        while(!q.isEmpty()) {
            int now = q.poll();
            num_of_free ++;
            sb.append(now + 1).append("\n");
            
            for (int next : graph[now]) {
                indgree[next]--;
                if(indgree[next] == 0) {
                    q.add(next);
                }
            }
        }

        
       

         System.out.println(num_of_free==N? sb : "No");

        

        
        
    }
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: