Advertisement
Guest User

Untitled

a guest
Sep 6th, 2013
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
D 1.18 KB | None | 0 0
  1. int main() {
  2.  
  3.     string buf;
  4.     // get function
  5.     string func = to!string(stdin.readln());
  6.     // get range of nodes
  7.     int node_count = to!int(strip(stdin.readln()));
  8.  
  9.     Node[] nodes;
  10.     // create node objects for all nodes
  11.     for (int i = 0; i < node_count; i++) {
  12.         nodes ~= new Node();
  13.     }
  14.     // get start node
  15.     Node start_node = nodes[to!int(strip(stdin.readln()))];
  16.     // get goal node
  17.     nodes[to!int(strip(stdin.readln()))].ratatosk = true;
  18.  
  19.     string[] numbers;
  20.     Node temp_node;
  21.  
  22.     // add information to node objects
  23.     while(stdin.readln(buf)) {
  24.         numbers = split(buf);
  25.         temp_node = nodes[to!int(numbers[0])];
  26.         numbers = numbers[1..$];
  27.         for (int i = 0; i < numbers.length; i++) {
  28.             temp_node.child ~= nodes[to!int(i)];
  29.         }
  30.     }
  31.  
  32.     // use switch instead of if-else for better translation, default to dfs
  33.     switch(func) {
  34.         case "dfs":
  35.             writeln(dfs(start_node));
  36.             break;
  37.         case "bfs":
  38.             writeln(bfs(start_node));
  39.             break;
  40.         default:
  41.             writeln(dfs(start_node));
  42.             break;
  43.     }
  44.  
  45.     return 0;
  46.  
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement