Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace Sneaking
- {
- class Program
- {
- static void Main(string[] args)
- {
- int rows = int.Parse(Console.ReadLine());
- var jagged = new char[rows][];
- var samRow = -1;
- var samCol = -1;
- for (int row = 0; row < rows; row++)
- {
- var input = Console.ReadLine();
- jagged[row] = input.ToCharArray();
- if (jagged[row].Contains('S'))
- {
- var currentIndex = Array.IndexOf(jagged[row], 'S');
- samRow = row;
- samCol = currentIndex;
- jagged[samRow][samCol] = '.';
- }
- }
- char[] directions = Console.ReadLine().ToCharArray();
- foreach (var direction in directions)
- {
- MoveEnemies(jagged);
- if ((jagged[samRow].Contains('b')
- && Array.IndexOf(jagged[samRow], 'b') < samCol)
- ||
- (jagged[samRow].Contains('d')
- && Array.IndexOf(jagged[samRow], 'd') > samCol))
- {
- jagged[samRow][samCol] = 'X';
- Console.WriteLine($"Sam died at {samRow}, {samCol}");
- break;
- }
- switch (direction)
- {
- case 'U': samRow--; break;
- case 'D': samRow++; break;
- case 'L': samCol--; break;
- case 'R': samCol++; break;
- default: break;
- }
- if (jagged[samRow][samCol] == 'b' ||
- jagged[samRow][samCol] == 'd')
- {
- jagged[samRow][samCol] = '.';
- }
- if (jagged[samRow].Contains('N'))
- {
- int nikoladzeCol = Array.IndexOf(jagged[samRow], 'N');
- jagged[samRow][nikoladzeCol] = 'X';
- jagged[samRow][samCol] = 'S';
- Console.WriteLine("Nikoladze killed!");
- break;
- }
- }
- foreach (var row in jagged)
- {
- Console.WriteLine(string.Join("",row));
- }
- }
- private static void MoveEnemies(char[][] jagged)
- {
- for (int row = 0; row < jagged.Length; row++)
- {
- int rowLength = jagged[row].Length;
- if (jagged[row].Contains('b')
- && Array.IndexOf(jagged[row], 'b') < rowLength - 1)
- {
- int index = Array.IndexOf(jagged[row], 'b');
- jagged[row][index] = '.';
- jagged[row][index + 1] = 'b';
- }
- else if (jagged[row].Contains('b')
- && Array.IndexOf(jagged[row], 'b') == rowLength - 1)
- {
- jagged[row][rowLength - 1] = 'd';
- }
- else if (jagged[row].Contains('d')
- && Array.IndexOf(jagged[row], 'd') > 0)
- {
- int index = Array.IndexOf(jagged[row], 'd');
- jagged[row][index] = '.';
- jagged[row][index - 1] = 'd';
- }
- else if (jagged[row].Contains('d')
- && Array.IndexOf(jagged[row], 'd') == 0)
- {
- jagged[row][0] = 'b';
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement