Форум программистов, компьютерный форум CyberForum.ru

Задача "Ладья в Лабиринте" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В чем моя ошибка?(ООП, классы) http://www.cyberforum.ru/cpp-beginners/thread1551918.html
Что изменить в файле functionss.h? Заранее спасибо!!! Задание: Определить класс «матрица». В класс включить два конструктора: 1) создание матрицы по количеству столбцов и строк; 2) конструктор-копию. Определить функции члены: вывод на экран элементов матрицы. Перегрузить оператор: ++ нахождение суммы положительных элементов главной диагонали. Файл: mainfuction.cpp #include <cstdlib>...
C++ Помогите улучшить неведомую функцию Помогите найти хорошую реализацию!!!! Если вам не понятно что делает функция тогда игнорируйте данную тему. А кто понял жду, может кто и поможет реализовать. (пишу в Ubuntu SDK на чистом с++11 без Qt libs) // count вектора {1,2|,-127,5|,9..-2|,1,4} шагом 2 ; {1,2}=unsigned int ; {1,4}=unsigned int void my_find_pp(vector<char> &mem, unsigned int &j){ vector< iter_vec_c > vec; ... http://www.cyberforum.ru/cpp-beginners/thread1551909.html
Определить номера строк, содержащих одновременно не менее трех четных элементов и ни одного нулевого C++
Здравствуйте,помогите найти ошибку. Мне нужно определить номера строк, содержащих одновременно не менее трех четных элементов и ни одного нулевого элемента. Вывести на экран исходную матрицу и номера найденных строк. Я еще дополнительно считаю количество таких строк.Пытаюсь считать) #include "stdafx.h" #include <conio.h> #include <clocale> #include <ctime> #include <iostream> int main...
C++ Естественная сортировка слияния
Имеется N человек и целые числа А1, ..., AN; человека i необходимо познакомить с Аi*людьми. Можно ли это сделать? Кого с кем знакомить, чтобы это сделать? Собственно условие задачи, не получается написать код к самому условию через естественное слияние
C++ Как задать переменную в C++ которая принимает комплексное значение? http://www.cyberforum.ru/cpp-beginners/thread1551855.html
Здравствуйте. Как объявить переменную, которая потом при расчетах принимает комплексный вид?
C++ Непонятное поведение программы при запросе к базе данных при запуске программы и выборе номера запроса 1 и 2 происходит вот такая вот ерунда не могу найти в чем причина #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <windows.h> #include <string.h> struct otdel_kadrov подробнее

Показать сообщение отдельно
ilyasoloma
0 / 0 / 0
Регистрация: 27.09.2015
Сообщений: 16

Задача "Ладья в Лабиринте" - C++

14.10.2015, 10:52. Просмотров 714. Ответов 10
Метки (Все метки)

Ладья – это шахматная фигура, которая за один ход может переместиться на любое количество клеток по горизонтали или вертикали. При этом она не может «перепрыгивать» через стоящие на ее пути фигуры.

Вася недавно соорудил на шахматной доске своеобразный лабиринт, поставив в некоторые клетки доски пешки (самые «слабые» шахматные фигуры). Теперь он хочет знать, за какое минимальное количество ходов ладья может добраться из одной клетки в другую, перемещаясь по свободным клеткам доски.

Он размышляет над этим вопросом уже несколько дней, однако найти ответ не может. Поэтому он решил обратиться за помощью к Вам. Напишите программу, находящую ответ на Васину задачу.

Входные данные

Первая строка входного файла INPUT.TXT содержит два натуральных числа: n и m (1 ≤ n, m ≤ 500) – размеры лабиринта.

Каждая из последующих n строк содержит m символов. j-ый символ i-ой из этих строк соответствует клетке с координатами (i, j). Он равен «.» (точка), если клетка пуста, «P», если занята пешкой, «S», если это начальная клетка для ладьи, и «F», если это конечная клетка.

Выходные данные

В выходной файл OUTPUT.TXT выведите минимальное количество ходов, требуемое ладье для того, чтобы из начальной клетки попасть в конечную. Если конечная клетка недостижима из начальной выведите -1.

Примеры

1 тест:
вход:
4 4
F.PS
.PP.
.PP.
....
выход: 3
2 тест:
вход:
4 4
F.PS
.PP.
.PP.
.P..
выход: -1

Была идея вводить 2 массива, один на горизонталь, другой на вертикаль, но реализовать не смог. Пробовал вводить массив на всё количество знаков, а потом пропускать через условные операторы, но работает только в частных случаях.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru