AdvancedAlgorithms.Money.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 testCaseNum = 0;
            while (true)
            {
                int numberBanks = ReadInt();

                if (numberBanks == 0)
                    break;

                testCaseNum++;

                int[,] matrix = new int[numberBanks,numberBanks];

                int originalCash = 0;

                for (int bankNumber = 0; bankNumber < numberBanks; bankNumber++)
                {
                    var line = GetSplitInts();

                    for (int adjbank = 0; adjbank < numberBanks; adjbank++)
                    {
                        matrix[bankNumber, adjbank] = line[adjbank];

                        if (line[adjbank] > 0)
                            originalCash += line[adjbank];
                    }
                }

                int totalCashNeeded = 0;
                for (int node = 0; node < numberBanks; node++)
                {
                    int totalIn = 0;
                    int totalOut = 0;
                    for (int adj = 0; adj < numberBanks; adj++)
                    {
                        totalIn += matrix[adj, node];
                        totalOut += matrix[node, adj];

                    }
                    int diff = totalOut - totalIn;
                    if (totalOut > totalIn)
                    {
                        totalCashNeeded += diff;
                    }

                }

            //    int shortestPathWeight = GetShortestPathWeight(numberBanks + 2, numberBanks, destNode, matrix) - (SENTINEL * 2);
                Console.WriteLine("{0}. {1} {2}", testCaseNum, originalCash, totalCashNeeded);

            }
        }