Advertisement
Guest User

Untitled

a guest
Aug 12th, 2016
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.29 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using System.Numerics;
  4.  
  5. namespace _20160613Problem02
  6. {
  7.     class JediGalaxy
  8.     {
  9.         static void Main()
  10.         {
  11.             string input = Console.ReadLine();
  12.             int[] galaxyDimensions = input.Split().Select(int.Parse).ToArray();
  13.             int[,] galaxy = new int[galaxyDimensions[0], galaxyDimensions[1]];
  14.             int count = 0;
  15.             for (int i = 0; i < galaxyDimensions[0]; i++)
  16.             {
  17.                 for (int j = 0; j < galaxyDimensions[1]; j++)
  18.                 {
  19.                     galaxy[i, j] = count;
  20.                     count++;
  21.                 }
  22.             }
  23.             BigInteger result = 0;
  24.             int galaxyRows = galaxy.GetLength(0);
  25.             int galaxyCols = galaxy.GetLength(1);
  26.             input = Console.ReadLine();
  27.             while (!input.Equals("Let the Force be with you"))
  28.             {
  29.                 int[] moveI = input.Split().Select(int.Parse).ToArray();
  30.                 int ivoRow = moveI[0];
  31.                 int ivoCol = moveI[1];
  32.                 input = Console.ReadLine();
  33.                 int[] moveDV = input.Split().Select(int.Parse).ToArray();
  34.                 int dvRow = moveDV[0];
  35.                 int dvCol = moveDV[1];
  36.                 while (dvRow >= 0 && dvCol >= 0)
  37.                 {
  38.                     if (checkIfInGalaxy(dvRow, dvCol, galaxyRows, galaxyCols))
  39.                     {
  40.                         galaxy[dvRow, dvCol] = 0;
  41.                     }
  42.                     dvRow--;
  43.                     dvCol--;
  44.  
  45.                 }
  46.                 while (ivoRow >= 0 && ivoCol < galaxyCols)
  47.                 {
  48.                     if (checkIfInGalaxy(ivoRow, ivoCol, galaxyRows, galaxyCols))
  49.                     {
  50.                         result += galaxy[ivoRow, ivoCol];
  51.                     }
  52.                     ivoRow--;
  53.                     ivoCol++;
  54.                 }
  55.                 input = Console.ReadLine();
  56.             }
  57.             Console.WriteLine(result);
  58.         }
  59.         public static bool checkIfInGalaxy(int row, int col, int galaxyCol, int galaxyRow)
  60.         {
  61.             if (row >= 0 && row < galaxyRow && col >= 0 && col < galaxyCol)
  62.             {
  63.                 return true;
  64.             }
  65.             return false;
  66.         }
  67.     }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement