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

Минимальный путь в таблице (Время: 1 сек. Память: 16 Мб Сложность: 32%) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не получается сохранить найденные координаты центров для дальнейшего оперирования ими http://www.cyberforum.ru/cpp-beginners/thread1167696.html
Есть цикл который находит центр объекта и ведет обведение его прямоугольником и отмечает этот центр. for(int i = 0; i < faces.size(); i++ ) { Point center( faces.x + faces.width/2, faces.y + faces.height/2 ); face_i = faces; rectangle(frame, face_i, CV_RGB(0, 255,0), 3); ellipse( frame, center, Size( faces.width/faces.width,...
C++ Установка l символов строке s, начиная с позиции n, в значение t Функція StrSet(s,n,l,t) Призначення: установлення l символів рядку s, починаючи с позиції n, в значение t. Розробити два варіанти заданої функції з використанням: а) індексованих масивів; б) вказівників. Спасибо Функция StrSet (s, n, l, t) Назначение: установка l символов строке s, начиная с позиции n, в значение t. http://www.cyberforum.ru/cpp-beginners/thread1167683.html
Что изучать после освоения основ? C++
Освоил основы С++, с трудом прорываю Win API по Петзольду, так же имею в запасе знания ассемблера. Что делать дальше? Что изучать, какие библиотеки? Вот если я хочу написать приложение для работы с сетью, что мне надо знать? Для начала саму сеть изучить(протоколы, принцип работы и т.д.), а потом работать с ней, или как я не пойму? Дайте дельный совет.
При заполнении матрицы _ и * появляются странные символы C++
Начал писать жизнь и наткнулся на такую проблему: при заполнении матрицы символьными элементами в ней появляются какие-то другие символы( типа b или ' ) на рандомных позициях. Можете пожалуйста подсказать выход из этой ситуации!? Вот код: #include <iostream> #include <stdlib.h> #include <stdio.h> using namespace std; const int kmax=20,mmax=20; using namespace std;
C++ Удаление комментариев из текста программы с использованием STL, ошибка при выполнении http://www.cyberforum.ru/cpp-beginners/thread1167660.html
Здравствуйте решал задачу с использованием STL из книги Страуструпа 6.22 возникла проблема программа вылетает, помогите пожалуйста разобраться в чем проблема. #include <iostream> #include <fstream> #include <string> #include <algorithm> using namespace std; int main(int argc, char **argv)//удаление коментариев из текста программы { if(argc < 3)
C++ Ввод данных в string, очистка потока ввода Дана программа #include "stdio.h" #include "stdlib.h" #include "string.h" #include "conio.h" #include "iostream" #include "windows.h" #include <string> using namespace std; подробнее

Показать сообщение отдельно
Live4Sky
6 / 1 / 1
Регистрация: 04.10.2013
Сообщений: 42
06.05.2014, 05:18     Минимальный путь в таблице (Время: 1 сек. Память: 16 Мб Сложность: 32%)
Кликните здесь для просмотра всего текста

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

Требуется найти минимальную сумму у.е., заплатив которую игрок может попасть в правый нижний угол.
Входные данные

Во входном файле INPUT.TXT задано два числа N и M - размеры таблицы (1<=N<=20, 1<=M<=20). Затем идет N строк по M чисел в каждой - размеры штрафов в у.е. за прохождение через соответствующие клетки (числа от 0 до 100).
Выходные данные

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

примеры:
вход - 3 4
1 1 1 1
5 2 2 100
9 4 2 1
выход(ответ) - 8
вот есть код,в чем проблема..собственно есть 3 цикла в программе, 1 и 2 цикл я знаю, что делают,что делает 3-й цикл? в голове не укладывается,помогите
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
#include <cstdio>
#include <algorithm>
#include<fstream>
using namespace std;
int a[30][30], n, m;
int main() {
    ifstream cin("input.txt");
    ofstream cout("output.txt");
    cin >> n >> m;
    for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++)
        cin >> a[i][j];
    for (int j = 1; j < m; j++){
        a[0][j] += a[0][j - 1];
        //cout << a[0][j] << " ";// здесь будет 2 3 4
    }
    for (int i = 1; i < n; i++){
        a[i][0] += a[i - 1][0];
        //cout << a[i][0] << " ";//здесь будет 6 15
    }
    for (int i = 1; i < n; i++){
        for (int j = 1; j < m; j++){
        a[i][j] += min(a[i - 1][j], a[i][j - 1]);
        //cout << a[i][j] << endl;здесь как ?min понятно как работает
        }
    }
    cout<< a[n - 1][m - 1]<<endl;//здесь 8
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru