AdvancedAlgorithms.Taxi.Main C# (CSharp) Method

Main() private static method

private static Main ( string args ) : void
args string
return void
        private static void Main(string[] args)
        {
            int numTestCases = int.Parse(Console.ReadLine());
            for (int testCaseNum = 0; testCaseNum < numTestCases; testCaseNum++)
            {
                var ints = GetSplitInts();
                var numPersons = ints[0];
                var numTaxis = ints[1];
                var speed = ints[2]; //speed in meters per second
                var timeLimit = ints[3]; //time limit to collect a person

                int totalNodes = numTaxis + numPersons;

                Node[] nodes = new Node[totalNodes];

                for (int personNum = 0; personNum < numPersons; personNum++)
                {
                    var personLine = GetSplitInts();
                    Node person = new Node() {Number = personNum};
                    person.X = personLine[0];
                    person.Y = personLine[1];
                    nodes[personNum] = person;
                }

                for (int taxiNum = 0; taxiNum < numTaxis; taxiNum++)
                {
                    var taxiLine = GetSplitInts();
                    Node taxi = new Node() { Number = numPersons+taxiNum };
                    taxi.X = taxiLine[0];
                    taxi.Y = taxiLine[1];
                    nodes[taxi.Number] = taxi;
                }

                //find the bipartite graph
                FindBipartiteGraph(nodes, numPersons, numTaxis, speed, timeLimit);

                //work out the max cardinality
                int maxCardinality = GetMaximumCardinality(nodes, numPersons, numTaxis);

                Console.WriteLine("{0}: {1}", testCaseNum+1, maxCardinality);
            }
        }