Advertisement
vaakata

MaxPlatform3x3_31.05.2016

May 31st, 2016
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.78 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace MaxPlatfomr3x3_31._05._2016
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int[] size = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.None).Select(int.Parse).ToArray();
  14.  
  15.             int[,] inputNumbs = new int[size[0], size[1]];
  16.             inputNumbs = (ReadingInputNumbers(size));
  17.  
  18.             int[,] max3x3Platform = new int[3, 3];
  19.             FindingMaxPlatform(inputNumbs);
  20.         }
  21.  
  22.         static void FindingMaxPlatform(int[,] scannedMatrix)
  23.         {
  24.             int[,] maxPlatform = new int[3, 3];
  25.             long bestSum = long.MinValue;
  26.             int bestRow = 0;
  27.             int bestCol = 0;
  28.  
  29.             for (int rowScan = 0; rowScan < scannedMatrix.GetLength(0) - 2; rowScan++)
  30.             {
  31.                 for (int colScan = 0; colScan < scannedMatrix.GetLength(1) - 2; colScan++)
  32.                 {
  33.                     long currentSum = scannedMatrix[rowScan, colScan] + scannedMatrix[rowScan, colScan + 1] + scannedMatrix[rowScan, colScan + 2] +
  34.                                         scannedMatrix[rowScan + 1, colScan] + scannedMatrix[rowScan + 1, colScan + 1] + scannedMatrix[rowScan + 1, colScan + 2] +
  35.                                         scannedMatrix[rowScan + 2, colScan] + scannedMatrix[rowScan + 2, colScan + 1] + scannedMatrix[rowScan + 2, colScan + 2];                        
  36.                     if (currentSum > bestSum)
  37.                     {
  38.                         bestSum = currentSum;
  39.                         bestRow = rowScan;
  40.                         bestCol = colScan;
  41.                     }
  42.                 }
  43.             }
  44.  
  45.             Console.WriteLine(bestSum);
  46.             for (int rowSave = bestRow; rowSave < bestRow + 3; rowSave++)
  47.             {
  48.                 for (int colSave = bestCol; colSave < bestCol + 3; colSave++)
  49.                 {
  50.                     Console.Write(scannedMatrix[rowSave, colSave] + " ");
  51.                 }
  52.                 Console.WriteLine();
  53.             }
  54.         }
  55.  
  56.         static int[,] ReadingInputNumbers(int[] matrixSize)
  57.         {
  58.             int[,] readNumbers = new int[matrixSize[0], matrixSize[1]];
  59.  
  60.             for (int rowRead = 0; rowRead < readNumbers.GetLength(0); rowRead++)
  61.             {
  62.                 string[] rowNumbers = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).ToArray();
  63.  
  64.                 for (int colRead = 0; colRead < readNumbers.GetLength(1); colRead++)
  65.                 {
  66.                     readNumbers[rowRead, colRead] = int.Parse(rowNumbers[colRead]);
  67.                 }
  68.             }
  69.             return readNumbers;
  70.         }
  71.     }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement