public void Should_success_test_04() { var values = new List <string>(File.ReadAllLines(@"C:\Users\Sebastien\Documents\visual studio 2015\Projects\CodingGame\CodingGame\VERYHARD\input4.txt").Select(ResistanceSolver.ConvertToMorse)); IDictionary <string, int> dico = new Dictionary <string, int>(); int maxSize = 0; foreach (var value in values) { var morse = value; maxSize = Math.Max(maxSize, morse.Length); if (dico.ContainsKey(morse)) { dico[morse]++; } else { dico[morse] = 1; } } var solver = new ResistanceSolver(dico, maxSize); var compute = solver.Compute(".-...-.-...--......--....------.-.....---..--.-.----...-----.-.........-..--.-.-.----....--...-.--.--.--.--...-.-..--....--.--.-....--.-.-..--..-...-..-...-.......-.......-....--.--...-.-.......----....-.-.---..-.-.-.....-.-..----.--...-....--.-..-..-...-.........---...-.-.--..-.----....-..-.....--..-.-.-...........--.-.......--...-....---...-..---..-..--.--.....-.-.-..-.-.----.......-..-..-.----.--.-.-.---.-...-.....-....---..-..-..-----.-......-.-..---.-....--.-..-..--..-....-........-.-.....--...-....----.-......-...---.-...-.....-.-.-...----..-...........-.--.-.-.-....-..-..-.....-.-...-....-....-.-.-.-..--.---..-.-..-...--.-..--..-..-.--........-.-..-.-.----...---..-...-.-..-.-..--.-.-.-......-........--.-..-.-......---.-..-..-...--.-..-.-.........-...-..-...-.....--.-..-....--.----.-.-.-..-.--..----...--..-.-.------.....-..-.....----...--...--.-..-.-........--.-..-..--..-..-.-..-.--..--.-.-....-...-.-.----...-----.-.........--.-.----......-...-.-.-.-------..-....--..-.-.-...-.-.......-.-.-......-.-.-------..--...-.-..--..----....-...---.-...--.-..-.....-..-.------..-.-.-........-...-...-----.-.........-.--..-...-.-.-....--..-.-...--.-.-..--...-........--..-.-..-......--...-....-.-...-.....-.-.-------.------.--.-.-...-.-..--....--..........----....---..-...-.-.--.-.........-...-..-...-..-......--.-..-.-...--.....-...-.-......-...-...--.---..-.-.-.-...-.-.-..-.....--..........----....-.-..-.-..--.-.-.-...-..-------.--..--.-..-..-..--....----....-.-............-..-...-...--..----...-.-....-.-..--....-.-...-.--..--...-..-.........-.--..----....--.-.-...-..--....-......--.--...-.-......-.-..-.-..--..----..-..--..-....---.-..-..-----......-------..--.-..-....---..--......-..-.-.-.---.-...--.---..-.-..-...-.....--.-..-.-........--..----.--.-.-...-..--..--..-.-.-.-...-.-.-..-....-.-..--.....--.----.-.....-.-.....-..--...-.-..-..-....--..--....-....-...--.-..-----.-......--..-.-..-..-.--.--..-....-...-.-...--.-...--.-..--....--.......--..-.-...--.-..-....-....-...---..-....-...-..-.---.-.--......--.-.....-......-..--..-....-..-......-...-----.-.........---..-.-...--.-.-.--..-..--..--.-..-.--..-.-.-.......---.--...-.-....-.-.-------.-...-.------....-....--..-.-..--....---.---.--...-.-.......-.-.---..--...-----.-........----.---.-...-.-....---..-....--..-.--..-..----.--....-.-....---..-.-.-...--...-......-....-----.-......-....---..-....--..-.-...-.-.----....--....---.-..-.-..--.....--.---.-.-...-...-..--......--.-..-.-...-..--....---.--...-.--.--..-.---.-..-..-..----..-.-...-....---..--...-.-----.-...-.-.----.-..-...-.---..--.-.----.-..-...----..-....--.-...-..-..--.--..-...-.....--.-..-..-.-...--.-.-.--....-.--..-.-.-..--..--....--.--...-.-.......----..-...-.-.-.-...--.-..-.-.-..-...-..-......--.-.-.-....-...-.-..--..-..-.--.......--.-..-.-.-.....-..-.-..-...-.---....------..-.-......--......--.-..-.-..---.-..--...--.-..-.---..-...-.......-..-....-..-...-........-....---..-....--..-.-....-...--.-..-...--..-......-....-...-...--...---.-..--..----.-....--.-.----...-----.-.........--...-.-.----....-..-......-.-..-.-..--.-.-.-.......-..-.--.-..-.-.-....-...-.-.-..--....--........--.-..-..--..-.--...-.-.----....-..-..-.....-.--.-.-...........-.-.-.........--.-..-.-.-.-......--..-....-....-..----.--...-.....-......-.-..-.-..--.-.-.-.....--.-..-...-.....-...-.-..-.-.--..-....-....-..-.-..--.-.-.--..-.-..-..-.--.--..-....-.....-...--.-..-.-......-..-.--.-..-.-.-.....--.-.----...--..-.-...--......--.--..-....--.---..-.-.-....--..-....-...-....-....-.-...----..-....-...........--.-......-.......-..--.-......-...--.-........----.-----..--....-.-.----...........-.-.--.-..-.--.-.......--.-..-..--..-.-..---.--..-..--..---.-......-.-.........-...-..-..........-.-.-.-...-.--.-.....--.-..-..--..-.-.........--.-..-.-.-.-......--..-....-....-..----.--...-....-.-.---.-..-......--.----.-...-.--.........-.-----...---.-.......-.......--..-....-....-..-.-..........--.-.....-....--.----.-.-.-..-.--..----....-.-----...---.-.......--.-..-.-..--.-.-.-.........--.-.-....-..--..-.--..-.-..-.-...-...-...--.-.-.-..--.-.----...-----.-.....-.......--....-....-...--..----....-.-.-------..-.-.-....-.-.......--..-....-....-...--...---.-.....----.---.-..-.....-.-.----...--.--.......--......-..-.......-.-.-----.--..-..-.....-...--.......-.-..--------..-.---..-.--..-....-...--.-......-......---.--..-..--...-.-....-...-.-..--..-..-.--........-.-.----....-..-.....-...-.-.-.-..---.-.....-...--...-........--.--......------...-..-.....--.-..-.-...-.------..----.-.-..-.-----..--.-.-.--..-.--.-----.-..-..-.--.-..---..-----..-...-.-....---..--.--.--....-.---..----.-----..--.----.--.....--..-.---.----.-..-....-..----..-.--.---.--.-....--.-----.-..-....-.-..-..-.---.-.----...-...-...--...-------.-..-.-..-....-.-..-..-.--.-....-.-.-.-..----.-...-.-.....-.-.----......-.-..--..---.--.-..--.......-..-...-.-.-----......-.-..--....--..........----.........-.-..-......-.-.-....-.......-.......-..--....---.---.--...-.-......--...-........-.-----..-.------..-.-....-.-...-.-.-..-....-.-.----.......-.--..--...-.....-.-.----...--.-.--.-.----...--.....-........----.-..--...-...........--..-.-..-......---.--..-..--...-.-.....-..-...-.-......-.-......--.--...-.-........-...-.---.-.--.--..----.....-.-.-...-.-..-..-.-.....--.---.-.-.--.-.--..-.-..-..-.--.--..-........-.-..-...---.-..-.-.-....--....-...-.-.....-.....----..-......-.-......--.--..--.-.-...-.....-..-.--.-..-.-.-.-......-.-......-.-..--..-..-----.....-.......--..-..--...-......-.....-.....----.....-..--....----.-..--..-..-.--.......--.-..-........--......-....-....--...-........--.-.-...-.-.----...-----.-.....-...--.-.--....--..-.....---....--..--..-......-.-..-....-..-...--.-.----...-..-..-.-.-..-...-.....-..-....-..---.-...-.....-..-...-.-..----.--...-...-.-.-..----.-...-...---.-.....-.-....--...-..--.-..-..-...-.-..-..-..--....----.-..--..-..-.--........-----.-......-.--..-..----..-...-...-.-....-.-.........-........--.-..-.-.....---...-.-.-------..-.--..--...-..-...-..-.-..........---..-...--.-..-.-..--..-....-........-.-....-.-.----...-..-..-.-.-.....------.-.....-.-......-.......-..--....----.-.-------..--...-.-..--..----....-....-...-..........-.-.-......-....--.-........--...-.........-..--.---..-.-..-......-.-.-------..--...-.-..--..----.....-.-.-..--..-..-.--........-----.-.....-....--...-......-.....-...-....-.-.....-.-...--.....-...-.-..--...-..-....-...---.....--.-...........-....-..-.-.....--.-.-...-..--....-.-.-....-.....-------......-......-.....-..-..--.-.-...--...-.------....-....--..-.-..--.-......--..--.--...----.-.--....--.-..----.-..-...-...-....-...-....-..--....----.-..--..-..-.--.......--.-..-.----....-....--..-----...-...--.-.........-......--..........----.....-.-----.-.....-.----.-----.-.-.....-.-..-...-..-..-.--.-..-.-.-.-..-...-.-....--..--.-.-...-..--..-.-.-.----..-..--..--.-..-..-.....-.-..-...-..-..-.--.-..-.-.-.-..-...-.-....--...-..-...-..-.-.-.....-..--.-..-..-...-.-.-...-..-.-.........---..--...-.--..--...-...-..-..--....----.-..--..-..-.--........-....--...-......-.......--.-.......--....-.--...---.-.......--..-...-....-....-...-.-..-.-.-------..--...-.-..--..----..--.--.--.-.--..-.......-....-...-...-......--..-.-.-...-.-...-.-..-------.-.-.-...-.-..-..-...-.-.--.-.-...-..--..-..--....----.-..--..-..-.--.......--.-..-..-.-..--....----.-...--.....----...--.-..-...--...-........--.-.-......----.-............-.---.....-.-.....-.-.-------.-.-.-..-..-.-..-....-...-..-...-.-.--.-.--.-...--..-.-...--.-...-...-..-.....-..-.-.-.---.-..-.-...------..-.-.-........-..-.--.-..-.-.-.-.......-.-..-.-..--..----..-.-.......-..-...-..-.-.-.....--..-.-..-....-..-.-...--......-...-...-.....----.-....-.........-.-..-....-...---------.-.-...-..---..-.-..--..--.-.-------..--...-.-..--..----....--.-.-...-..--.....-..-..--....----.-..--..-..-.--.........--..-.-.--..-...-..--.-.....-.-....--..-.-....--..---..--.-....--..-.-....--...--.---..-...-.--.-.-..-........-.-....--...-........--..-.-..-...-...-...--..----.-.-......-...-....-...--....--.-...-......---.-.....-.----.-----.-.-.-.....-...--...-.........--..-.-...--.....-..-.--.-.-..-..-....--..--.--...-...--.....-...------.-....--..-.-.--...-......--.-..-..-......-...-.-..--..........----..--....-..-...-.-.--..-.-..-...-...---....-.-....--...---.--..-...-.-..---..-.---..--..-...--.-.......-...-...-.-..--...--....-....--.-..-.-....--.-.----.--.----...---..-...---..--...-...-.-.---.....-...-......-.--.....--.......-....-.-..----........-....-.-.-......-.....-..-...--.-...-----.--..-...-.-.---..---.--.....-...-..-.-...-..--..----.-....-...-..........-..........------.-.---.-...-.-..-..-......-.-..........-.---.-.......-...-......--.-..-..-..--.-..-.....-..--.-...--.-..----.....--..-.....-...-.--..-....-.--..-.-.--.........-.--..----....--.-.-...-..--.....-.-.-.---.-...-..--.-.-.....-..--.--.--.-.-.--..-....-....-.-----.-.....--.-..-..-.....-.-...-.-....-.-..--....-.-...-.--..--...-...-...-.-.-..-..-...-...--.-.-.-.....-.-...-..-.--.-..-.-.-.-..-..--..........----..-..-.------..-.-.-........-..-.-...-.-.-..-.......-..-.--.-..-.-.-.-.....-......-..-......-..--.-..-..-...-.-..-.-.-..---....-...---.-.-...-..--.-.-.-.-......--.-...----.-.-.-.-.---.-....--...-..-...-..-.-.-.--..----.----........-...-......-.....----.-.--..-....-.....--...-...........--.-..-..--..-.-.--.-..-..-..--.-..-.....--..--.--....--.-.....-..-.-..--.-.--....--...-......-...-..-.....---....--..--..-......-.-..-....-.-....-....-.-.-..----.-....-...-.-...---.--...-.-..-........-......-....--..-..--..-.--....-...-.-.---..-.-...--.-.--.-.-------..--...--.-..-..-..-.-----.-......-....---..-....--..-.-.-..---.-....--.-..-..-...--.-..-.--..--.-...---.--.-..-...-..-..........--.-..-..--..-.-.....-..-..-..--...--.---..-.-.-......-.-....-.---..-...-...-.-.....-.-....-...---.-.-...-..--.-.-.-.-......--.-...-...--....-...-.------....-....--..-.--..--.--...-..----.-.-...-..-..-..--.-.-.."); Console.WriteLine("callCompute: {0}", solver.callCompute); Console.WriteLine("callCache: {0}", solver.callCache); Console.WriteLine("callStartWith: {0}", solver.callStartWith); Console.WriteLine("callRecursive: {0}", solver.callRecursive); Assert.AreEqual(57330892800, compute); }
static void Main(string[] args) { IDictionary <string, int> dico = new Dictionary <string, int>(); string L = Console.ReadLine(); int N = int.Parse(Console.ReadLine()); int maxSize = 0; for (int i = 0; i < N; i++) { var morse = ResistanceSolver.ConvertToMorse(Console.ReadLine()); maxSize = Math.Max(maxSize, morse.Length); if (dico.ContainsKey(morse)) { dico[morse]++; } else { dico[morse] = 1; } } var solver = new ResistanceSolver(dico, maxSize); // Write an action using Console.WriteLine() // To debug: Console.Error.WriteLine("Debug messages..."); Console.WriteLine(solver.Compute(L)); }
public void Should_success_test_02() { var values = new List <string>() { ResistanceSolver.ConvertToMorse("GOD"), ResistanceSolver.ConvertToMorse("GOOD"), ResistanceSolver.ConvertToMorse("MORNING"), ResistanceSolver.ConvertToMorse("G"), ResistanceSolver.ConvertToMorse("HELLO"), }; IDictionary <string, int> dico = new Dictionary <string, int>(); int maxSize = 0; foreach (var value in values) { var morse = value; maxSize = Math.Max(maxSize, morse.Length); if (dico.ContainsKey(morse)) { dico[morse]++; } else { dico[morse] = 1; } } ResistanceSolver solver = new ResistanceSolver(dico, maxSize); Assert.AreEqual(1, solver.Compute("--.-------..")); }