Решения задач acmp.ru
Главная
Вход
Регистрация
Воскресенье, 20.09.2020, 21:24Приветствую Вас Гость | RSS
Меню сайта

Категории раздела
Pascal [121]
C++ [76]

Поиск

Мини-чат
200

Легкий заработок!

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

Главная » Файлы » C++

0165 Только вправо или вниз

Скачать файл можно после просмотра рекламы:

05.06.2012, 02:54
#include <stdio.h>
#include <memory.h>

int main()
{
unsigned int n = 0, m = 0;
unsigned int **inMatrix = NULL, **tmpMatrix = NULL;

FILE *f = fopen("input.txt", "r");
fscanf(f, "%d %d", &n, &m);

inMatrix = new unsigned int* [n];
tmpMatrix = new unsigned int* [n];
for (int i = 0; i < n; i++)
{
inMatrix [i] = new unsigned int [m];
tmpMatrix [i] = new unsigned int [m];
memset(tmpMatrix [i], 0, sizeof(unsigned int) * m);
for (int j = 0; j < m; j++)
fscanf(f, "%d", &inMatrix [i][j]);

}
fclose(f);

tmpMatrix [0][0] = 1;
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
{
if ((tmpMatrix [i][j] || (i == 0 && j == 0)) && inMatrix [i][j])
{
if (i + inMatrix [i][j] < n)
tmpMatrix [i + inMatrix [i][j]] [j] += tmpMatrix [i][j];
if (j + inMatrix [i][j] < m)
tmpMatrix [i] [j + inMatrix [i][j]] += tmpMatrix [i][j];
}
}

f = fopen("output.txt", "wt");
fprintf(f, "%d\n", tmpMatrix [n-1][m-1]);
fclose(f);

return 0;
}
Категория: C++ | Добавил: shum
Просмотров: 1447 | Загрузок: 0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Это интересно!


Copyright MyCorp © 2020