elena1234

SnakeMoves

Dec 23rd, 2020 (edited)
290
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.99 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace SnakeMoves
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             int[] input = Console.ReadLine().Split().Select(int.Parse).ToArray();
  12.             int rows = input[0];
  13.             int cols = input[1];
  14.             string snake = Console.ReadLine();
  15.             var queueSnake = new Queue<char>(snake.ToArray());        
  16.             char[,] matrix = new char[rows, cols]; // create char matrix with rows and cols          
  17.  
  18.             for (int row = 0; row < rows; row++) // fill in the matrix
  19.             {
  20.                 for (int col = 0; col < cols; col++)
  21.                 {                    
  22.                     if (row % 2 == 0)
  23.                     {
  24.                         char currentSymbol = RollTheSnake(queueSnake);
  25.                         matrix[row, col] = currentSymbol;
  26.                     }
  27.  
  28.                     else if (row % 2 != 0)
  29.                     {
  30.                         for (int j = cols - 1; j >= 0; j--)
  31.                         {
  32.                             char currentSymbol = RollTheSnake(queueSnake);
  33.                             matrix[row, j] = currentSymbol;
  34.                         }
  35.  
  36.                         break;
  37.                     }
  38.                 }              
  39.             }
  40.  
  41.             PrintMatrix(matrix);
  42.         }
  43.  
  44.  
  45.         private static char RollTheSnake(Queue<char> queueSnake)
  46.         {
  47.             char currentSymbol = queueSnake.Dequeue();
  48.             queueSnake.Enqueue(currentSymbol);
  49.             return currentSymbol;
  50.         }
  51.  
  52.         private static void PrintMatrix(char[,] matrix)
  53.         {
  54.             for (int row = 0; row < matrix.GetLength(0); row++)
  55.             {
  56.                 for (int col = 0; col < matrix.GetLength(1); col++)
  57.                 {
  58.                     Console.Write(matrix[row, col]);
  59.                 }
  60.  
  61.                 Console.WriteLine();
  62.             }
  63.         }
  64.     }
  65. }
Add Comment
Please, Sign In to add comment