Example #1
0
 static Thread CreateThreadForResolvingProblem(Problem problem, ResolverBase resolver)
 {
     return(new Thread(() =>
     {
         ResolveProblem(problem, resolver);
     }));
 }
Example #2
0
        static void ResolveProblem(Problem problem, ResolverBase resolver)
        {
            var recordsLists = new List <Record> [10];

            for (int i = 0; i < 10; i++)
            {
                recordsLists[i] = resolver.ResolveProblem();
                Console.WriteLine(i + "___" + problem.FileName + "_" + resolver.Name);
            }

            string currentDirectory = AppDomain.CurrentDomain.BaseDirectory;
            string filePath         = Path.Combine(currentDirectory, "output", problem.FileName + "_" + resolver.Name + ".csv");

            using (StreamWriter writer = File.CreateText(filePath))
            {
                writer.Write("id;");
                for (int i = 0; i < 10; i++)
                {
                    writer.Write($"best_{i + 1};avg_{i + 1};worst_{i + 1}");
                    if (i != 9)
                    {
                        writer.Write(";");
                    }
                }
                writer.WriteLine();

                for (int i = 0; i < recordsLists[0].Count; i++)
                {
                    writer.Write(i + ";");

                    for (int j = 0; j < 10; j++)
                    {
                        writer.Write(recordsLists[j][i].Best + ";" + recordsLists[j][i].Avg + ";" + recordsLists[j][i].Worst);
                        if (j != 9)
                        {
                            writer.Write(";");
                        }
                    }
                    writer.WriteLine();
                }
            }

            Console.WriteLine(filePath);
        }