Игра "Даты" Играют двое. Задается какая-то дата 2004 года - C#
Формулировка задачи:
Здравствуйте. Задали олимпиадное задание. Помогите пожалуйста решить эту задачу на C#.
Задумался над другой задачей тему не ту написал. ><
Дана матрица N*N, заполненная положительными числами. Путь по матрице начинается в левом верхнем углу. За один ход можно пройти в соседнюю по вертикали или горизонтали клетку (если она существует). Нельзя ходить по диагонали, нельзя оставаться на месте. Требуется найти максимальную сумму чисел, стоящих в клетках по пути длиной K (клетку можно посещать несколько раз).
Ограничения: 2 £ N £ 15, элементы матрицы имеют значения от 1 до 999, 1 £ K £ 20, все числа целые, время 5с.
Ввод из файла route2.in. В первой строке находятся разделенные пробелом числа N и K. Затем идут N строк по N чисел в каждой.
Вывод в файл route2.out. Вывести одно число - максимальную сумму.
Решение задачи: «Игра "Даты" Играют двое. Задается какая-то дата 2004 года»
textual
Листинг программы
static void Main(string[] args) { int[,] A = new int[6, 6]; int k = 10; int posx = 0; int posy = 0; //A[0, 0] - верхний левый угол int posxOld = posx; int posyOld = posy; Random rand = new Random(); int step; //0 - вверх, 1 - вниз, 2 - влево, 3 - вправо for (int i = 0; i < 6; i++) { for (int j = 0; j < 6; j++) { A[i, j] = rand.Next(1, 10); Console.Write(A[i, j] + " "); } Console.WriteLine(); } int sum = A[0, 0]; Console.Write("\nМаршрут: "); Console.Write(A[posx, posy] + " "); for (int i = 0; i < k;) { step = rand.Next(0, 4); if ((posxOld != posx) || (posyOld != posy)) { sum += A[posx, posy]; Console.Write(A[posx, posy] + " "); } posxOld = posx; posyOld = posy; switch (step) { case 0: if (posx > 0) { posx -= 1; i++; } break; case 1: if (posx < 5) { posx += 1; i++; } break; case 2: if (posy > 0) { posy -= 1; i++; } break; case 3: if (posy < 5) { posy += 1; i++; } break; default: break; } } Console.WriteLine("\nSum = " + sum); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д