Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace _10._JumpAround
- {
- class Program
- {
- static void Main(string[] args)
- {
- int[] input = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
- List<int> startPositions = Console.ReadLine().Split(' ').Select(int.Parse).ToList();
- List<int> matrixWithJumps = new List<int>();
- int[,] matrix = new int[input[0], input[1]];
- for (int i = 0; i < input[2]; i++)
- {
- var jumps = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
- for (int j = 0; j < 2; j++)
- {
- matrixWithJumps.Add(jumps[j]);
- }
- }
- int counter = 1;
- for (int k = 0; k < input[0]; k++)
- {
- for (int l = 0; l < input[1]; l++)
- {
- matrix[k, l] += counter;
- counter++;
- }
- }
- int currentRowPosition = startPositions[0];
- int currentColPosition = startPositions[1];
- long sum = matrix[currentRowPosition, currentColPosition];
- matrix[currentRowPosition, currentColPosition] = 0;
- int jumpsNumber = 0;
- while ( true )
- {
- for (int i = 0; i < input[2]*2; i+=2)
- {
- currentRowPosition += matrixWithJumps[i];
- currentColPosition += matrixWithJumps[i + 1];
- if (currentColPosition <= -1 || currentRowPosition <= -1 || currentRowPosition >= matrix.GetLength(0) || currentColPosition >= matrix.GetLength(1))
- {
- Console.WriteLine($"escaped {sum}");
- return ;
- }
- if (matrix[currentRowPosition, currentColPosition] == 0)
- {
- Console.WriteLine($"caught {jumpsNumber}");
- return;
- }
- jumpsNumber++;
- sum += matrix[currentRowPosition, currentColPosition];
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement