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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mr_free
69 / 3 / 0
Регистрация: 08.08.2012
Сообщений: 223
Записей в блоге: 1
#1

Количество маршрутов с препятствиями - C++

21.12.2012, 17:14. Просмотров 453. Ответов 1
Метки нет (Все метки)

Здравствуйте, вот познаю основы динамического программирование и столкнулся с проблемой во время решения классической задачи "Количество маршрутов с препятствиями". Результат программы не верен, хоть и все, вроде бы, делаю верно, но что-то все же делаю не верно. Подскажите, пожалуйста!
Напомню условие:
Код
Пусть некоторые клетки на доске являются «запретными»: король не может ходить на них. Карта запретных клеток задана при помощи массива Map[n][m]: нулевое значение элемента массива означает, что данная клетка запрещена, единичное значение означает, что в клетку можно ходить. Массив Map считывается программой после задания значений n и m. Король может ходить только вниз или вправо.
Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <fstream.h>
using namespace std;
int main()
{
    ifstream f1("intput.txt");
    ofstream f2("output.txt");
    int n,m,i,j;
    cin>>n>>m;
    int map[n][m];
    for (i=0; i<n; i++)
    {   for (j=0; j<m;j++)
        {
            cin>>map[i][j];
        }
    }
    for (i=1;i<m;i++)
    {
        for(j=1; j<n; j++)
        {
            map[i][j]=map[i-1][j]+map[i][j-1];
        }
    }
    for (i=0; i<n; i++)
    {
        for (j=0; j<m; j++;)
        {
            f2<<map[i][j]<<' ';
        }
    }
    f1.close();
    f2.close();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2012, 17:14     Количество маршрутов с препятствиями
Посмотрите здесь:

Количество маршрутов - C++
Доброе утро всем!:) Есть задачка. На картинке показаны шесть квадратов и возможные маршруты их прохождения. НУжно посчитать количество...

Вывести кол-во маршрутов, ведущих узника к выходу и проходящих через M+N-1 комнату, или слово impossible, если таких маршрутов не существует - C++
Здравствуйте! Имеем функцию на C++.Помогите исправить ошибки, чтобы выводился правильный результат. Сначало условие, а ниже будет...

найти количество различных маршрутов, ведущих к спасению - C++
Узник пытается бежать из замка, который состоит из MN квадратных комнат, расположенных в виде прямоугольника M×N. Между любыми двумя...

Посчитать количество замкнутых маршрутов, проходящий ровно через четыре различных города - C++
Задача E. Тетрациклофобия Имя входного файла: phobia.in Имя выходного файла: phobia.out Ограничение по времени: 2 секунды ...

Программа должна напечатать количество маршрутов, ведущих узника к выходу и проходящих через M+N-1 комнату - C++
Узник пытается бежать из замка, который состоит из MN квадратных комнат, расположенных в виде прямоугольника M×N. Между любыми двумя...

Найти количество всевозможных маршрутов от города до города - C++
Имеется n городов пронумерованных с 1 до n и m соединяющих дорог. Найти количество всевозможных маршрутов с города с номером start до...

Движение персонажа в консоли с препятствиями - C++
Приветствую! Есть проблема: задали написать игру с главным персонажем, врагами и препятствиями(стенами, границами). Я не совсем понимаю...

Упорядочить номера маршрутов по возрастанию (структуры) - C++
Помогите пожалуйста как упорядочить номера маршрутов по возрастанию?? #include &lt;iostream&gt; #include &lt;string.h&gt; #include...

Выведение всех возможных маршрутов в неориентированном графе - C++
Помогите пожалуйста составить программу для выведения всех возможных маршрутов в неориентированном графе

Поиск маршрутов выхода из лабиринта и запись карты с найденным маршрутом в файл - C++
Нужно провести поиск маршрутов выхода из лабиринта и запись карты с найденным маршрутом в файл solution.txt. Карта лабиринта содержится в...

Вывести время отправления и номера маршрутов, проходящих через данный населенный пункт - C++
Мне нужно написать программу: Создать массив, в котором записать информацию о маршрутах автобусов: номер маршрута, перечень населенных...

Количество букв в слове, количество предложений, самое длинное слово в предложении - C++
Как написать прогу, которая бы указывала количество букв в слове, вводимое пользователем, количество предложений, самое длинное слово в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
1927 / 1193 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
21.12.2012, 17:46     Количество маршрутов с препятствиями #2
Ну, во-первых, после считывания пропишите
C++
1
map[0][0] = 1;
Ведь у короля есть 1 способ добраться до клетки [0][0].

Добавлено через 1 минуту
Во-вторых,
Цитата Сообщение от mr_free Посмотреть сообщение
for (i=1
Цитата Сообщение от mr_free Посмотреть сообщение
for(j=1
Почему вы начинаете отсчет от единицы?
Вернее, так делать можно и даже нужно, но вы игнорируете все крайние клетки. Их стоит заполнять в отдельном цикле.
Yandex
Объявления
21.12.2012, 17:46     Количество маршрутов с препятствиями
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru