Форум программистов, компьютерный форум, киберфорум
Наши страницы

Вывести кол-во маршрутов, ведущих узника к выходу и проходящих через M+N-1 комнату, или слово impossible, если таких маршрутов не существует - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Аналог функции strcpy http://www.cyberforum.ru/cpp-beginners/thread641341.html
myStrlen был дан как пример в книге, а свой myStrcpy неполучается написать:pardon: int myStrlen(char *str1); char myStrcpy(char *b, char *str2); int main(){ setlocale(LC_CTYPE,"Russian");...
C++ о связи классов и наследовании даты #ifndef base_hpp #define base_hpp #include "Data.hpp" #include <iostream> using namespace std; class base { http://www.cyberforum.ru/cpp-beginners/thread641321.html
Динамическая память. Функции. Массивы .Объекты C++
Всем привет. Возник следующий вопрос: 1.Когда в c++ из функции возвращается объект (экземпляр какого-то класса), то насколько мне известно, создается временный объект, для хранения результат и...
C++ Комплексные числа. Символическая форма записи
Сейчас делаю реализацию класса. Что-то мне подсказывает, что есть ошибки. Тут больше вопрос по математике, в коей я практически ничего не понимаю. Кто в теме, просмотрите перегрузку арифметических...
C++ : error C2065: 'remainder' : undeclared identifier http://www.cyberforum.ru/cpp-beginners/thread641310.html
Доброй ночи, вот изучаю Microsoft Visual Studio 2008 и в примере выскакивает данная ошибка(: error C2065: 'remainder' : undeclared identifier) , я так понимаю что в коде не хватает библиотеки только...
C++ Массив: Все элементы массива, кратные трем, записать в одномерный массив. Дан двумерный массив размером n x n? заполненный целыми числами. Все его элементы кратные трем, записать в одномерный массив. подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт С++
4673 / 2499 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
23.08.2012, 10:53
Юлия17071992, Если прям для условия задачи, то можно так:
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
35
36
37
38
39
#include<iostream>
using namespace std;
int main()
{
    int N, M, i, j;
    scanf("%d %d", &N, &M); 
    int **a, **b;
    a=new int*[N]; b=new int*[N];
    for(i=0; i<N; i++)
    {
        a[i]=new int[M]; b[i]=new int[M];
        for(j=0; j<M; j++)
        {
            cin>>a[i][j]; b[i][j]=0;
        }
    }
    b[N-1][0]=1;
    for(i=1; i<M; i++)
        if(a[N-1][i]==1)
            b[N-1][i]=b[N-1][i-1];
        else
            b[N-1][i]=0;
    for(i=N-2; i>=0; i--)
        if(a[i][0]==1)
            b[i][0]=b[i+1][0];
        else
            b[i][0]=0;
    for(i=N-2; i>=0; i--)
        for(j=1; j<M; j++)
            if(a[i][j]==1)
                b[i][j]=b[i+1][j]+b[i][j-1];
            else
                b[i][j]=0;
    if(b[0][M-1])
        cout<<b[0][M-1]<<endl;  
    else
        cout<<"impossible"<<endl;
    return 0;
}
Кстати, по моему Вам давали похожий по функциональности код, а Вы его почему-то не взяли за основу. Если не секрет, где взяли код, который показываете в этой теме?
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru