using System.Collections.Generic;
public static void Main()
string s = "Hello my friend";
string[] strs = s.Split(' ');
for (int i = 0; i < strs.Length; i++)
Console.WriteLine(strs[i]);
public static int CountPaths(int n, params int[][] roads)
Array.Sort(roads, (left, right) => left[0] - right[0]);
for(int i = 0; i < roads.Length; i++)
for(int j = 0; j < roads[i].Length; j++)
Console.Write(" - " + roads[i][j]);
List<int[]>[] graph = new List<int[]>[n];
for(int i = 0; i < roads.Length; i++)
graph[from] = new List<int[]>();
graph[from].Add(new int[]{to, weight, 0});
for(int i = 0; i < graph.Length; i++)
for (int j = 0; j < graph[i].Count; j++)
Console.WriteLine("from= " + i + " to= " + graph[i][j][0] + " weight=" + graph[i][j][1]);
List<int> paths = new List<int>();
GoInside(graph, 0, n-1, 0, paths);
return paths.FindAll((x) => x == paths[0]).Count;
private static void GoInside(List<int[]>[] graph, int start, int end, int weight, List<int> paths)
if (start == end || graph[start] == null)
for (int j = 0; j < graph[start].Count; j++)
Console.WriteLine("to= " + to);
GoInside(graph, to, end, weight + graph[start][j][1], paths);