Pagini recente » Cod sursa (job #1363778) | Cod sursa (job #107432) | Cod sursa (job #717988) | Cod sursa (job #762347) | Cod sursa (job #1705350)
import java.io.*;
import java.util.*;
public class Main {
static ArrayList<ArrayList<Integer>> adj;
static int[] visited ;
public static void dfs(int n) {
visited[n] = 1;
for (Integer x : adj.get(n))
if (visited[x] != 1)
dfs(x);
}
public static void main(String[] args) throws IOException {
Scanner br= new Scanner(new BufferedInputStream(new FileInputStream("dfs.in")));
PrintStream out = new PrintStream(new FileOutputStream("dfs.out"));
int n = br.nextInt();
int m = br.nextInt();
adj = new ArrayList<ArrayList<Integer>>();
for ( int i = 1 ; i <= n + 1 ;i++)
adj.add(new ArrayList<Integer>());
for (int i = 0 ; i < m ; i++){
int x = br.nextInt();
int y = br.nextInt();
adj.get(x).add(y);
}
visited = new int[n + 1];
int comp = 0;
for (int i = 1; i <= n ; i++)
if (visited[i] != 1){
comp++;
dfs(i);
}
out.println(comp);
out.close();
br.close();
}
}