import java io File import java io FileNotFoundExceptio import java ut

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.Stack;
public class TestClass {
public static void main(String[] args) throws FileNotFoundException {
Scanner scanner = new Scanner(new File("example"));
String line = scanner.next().trim();
String [] color = line.split("\t"); //вершины; i-ая вершина - color[i - 1]
for (int i = 0; i < color.length; i++) {
color[i] = "0";
}
line = scanner.next().trim();
String [] data = line.split("\t");
int[] edges = new int[data.length / 2]; //ребра
int n = color.length; //количество вершин
int [] numbers = new int[color.length]; //массив, в котором сохраняются номера вершин
Stack stack = new Stack(); //стек, в котором складываются вершины после их обработки.
boolean cycle = false; // принимает значение true, если в графе найден цикл
for (int i = 1; i < n; i++) {
cycle = dfs(i);
if (cycle) {
return;
}
}
for (int i = 1; i < n; i ++) {
numbers[stack.pop()] = i;
}
}
static boolean dfs (int v) {
return false;
}
}