Я сделал это задание с рекурсии. Функция бесконечно вызывает сама себя и ищет наиболее оптимальный вариант. Фактически это просто подбор, но более сложно реализованный.
P. s. Если Вам ответ, отметьте его как лучший и жмякните на " " . Это мотивирует продолжать давать ответы дальше.
ли школа давать систематичные знания, или хорошим специалистом можно стать только в вузе? Нужно ли учить в школе быстрой печати? Какой ЯП следует выбрать для уроков информатики? Попытавшись ответить на эти вопросы из темы, я понял, что в комментарий ответ не поместится.
1. Школа в принципе может давать «достаточно систематичные» знания — готовить специалистов. Если, конечно, в этом суждении мы противопоставляем школу вузу — понимаем под «школой» все учреждения среднего образования, в том числе всякие «лицеи», «гимназии», «колледжи». Хорошим же специалистом можно стать только на практике — невозможно приобрести достаточно навыков хорошего спеца «заочно», даже в «хорошем вузе».
2. В школе нужно учить не быстро печатать на ПК, а печатать вслепую, чтобы не тратить на клавиши внимание, психическую энергию. Скорость же здесь будет приобретаться позже — при работе с конкретными текстами. Ведь мы заранее не знаем даже, на каком языке выпускнику понадобится потом развивать эту скорость. От предметной области тоже очень много зависит: ум и пальцы заучивают не «буквы вообще», а конкретные наиболее частотные сочетания букв, слов, типичные обороты речи.
3. В школе не надо изучать никакой ЯП «достаточно систематично», а надо, при благоприятном случае, знакомить с несколькими. Знакомить с конца, с результата, грубо и по-дилетантски:
#include <iostream>
using namespace std;
int data[20][20], x, y, minValue = -1;
void calc(int px, int py, int value){
value += data[px][py];
int temp = data[px][py];
if(px == x - 1 && py == y - 1) {
if(value < minValue || minValue == -1)
minValue = value;
return;
}
data[px][py] = -1;
if(px + 1 < x && data[px + 1][py] != -1) calc(px + 1, py, value);
if(py + 1 < y && data[px][py + 1] != -1) calc(px, py + 1, value);
data[px][py] = temp;
}
int main(){
cin >> x >> y;
for (int i = 0; i < x; ++i)
for (int j = 0; j < y; ++j)
cin >> data[i][j];
calc(0, 0, 0);
cout << minValue;
return 0;
}
Объяснение:
Я сделал это задание с рекурсии. Функция бесконечно вызывает сама себя и ищет наиболее оптимальный вариант. Фактически это просто подбор, но более сложно реализованный.
P. s. Если Вам ответ, отметьте его как лучший и жмякните на " " . Это мотивирует продолжать давать ответы дальше.
ли школа давать систематичные знания, или хорошим специалистом можно стать только в вузе? Нужно ли учить в школе быстрой печати? Какой ЯП следует выбрать для уроков информатики? Попытавшись ответить на эти вопросы из темы, я понял, что в комментарий ответ не поместится.
1. Школа в принципе может давать «достаточно систематичные» знания — готовить специалистов. Если, конечно, в этом суждении мы противопоставляем школу вузу — понимаем под «школой» все учреждения среднего образования, в том числе всякие «лицеи», «гимназии», «колледжи». Хорошим же специалистом можно стать только на практике — невозможно приобрести достаточно навыков хорошего спеца «заочно», даже в «хорошем вузе».
2. В школе нужно учить не быстро печатать на ПК, а печатать вслепую, чтобы не тратить на клавиши внимание, психическую энергию. Скорость же здесь будет приобретаться позже — при работе с конкретными текстами. Ведь мы заранее не знаем даже, на каком языке выпускнику понадобится потом развивать эту скорость. От предметной области тоже очень много зависит: ум и пальцы заучивают не «буквы вообще», а конкретные наиболее частотные сочетания букв, слов, типичные обороты речи.
3. В школе не надо изучать никакой ЯП «достаточно систематично», а надо, при благоприятном случае, знакомить с несколькими. Знакомить с конца, с результата, грубо и по-дилетантски:
Объяснение: