aboutsummaryrefslogtreecommitdiffstats
path: root/src/Program/Program.cs
blob: f4c83d1398423038edeb721131aac11e379d4ed6 (plain)
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
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;

namespace ClosestPair
{
    public class Program
    {
        public static void Main(string[] args)
        {
            FileInfo inputFile = (args.Length > 0) ? new FileInfo(args[0]) : new FileInfo("points1.txt");

            if (!inputFile.Exists) {
                Console.WriteLine($"Failed to open {inputFile}: File does not exist.");
                return;
            }
            
            Stopwatch stopWatch = new Stopwatch();
            stopWatch.Start();
            Point[] points = PointFile.ReadFile(inputFile.FullName);
            PointPair closestPair = ClosestPair.FindClosestPair(points);

            stopWatch.Stop();
            TimeSpan ts = stopWatch.Elapsed;

            Console.WriteLine($"Points File: {inputFile.Name}");
            Console.WriteLine($"Closest Points: {closestPair.ToString("F3")}");
            Console.WriteLine($"Runtime: {ts.ToString("mm\\:ss\\.ff")}");
        }
    }

}