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

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

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

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

21.12.2012, 17:14. Просмотров 440. Ответов 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++
C++ Программа должна напечатать количество маршрутов, ведущих узника к выходу и проходящих через M+N-1 комнату
Вывести кол-во маршрутов, ведущих узника к выходу и проходящих через M+N-1 комнату, или слово impossible, если таких маршрутов не существует C++
C++ Количество маршрутов
Вывести время отправления и номера маршрутов, проходящих через данный населенный пункт C++
C++ Выведение всех возможных маршрутов в неориентированном графе
C++ Найти количество всевозможных маршрутов от города до города
C++ Упорядочить номера маршрутов по возрастанию (структуры)
Движение персонажа в консоли с препятствиями C++
C++ Определить количество лет, в которые количество осадков превышало среднегодовое
Поиск маршрутов выхода из лабиринта и запись карты с найденным маршрутом в файл C++
C++ Посчитать количество замкнутых маршрутов, проходящий ровно через четыре различных города

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
1921 / 1187 / 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     Количество маршрутов с препятствиями
Ответ Создать тему
Опции темы

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