Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <iostream>
- #include <fstream>
- #include <vector>
- #include <string>
- #include <algorithm>
- using namespace std;
- vector < vector<int>>used;
- vector<vector<int>>D;
- vector<vector<int>>mas;
- int rec(int n, int m) {
- int a, b, c;
- if (n >7 || n<0 || m>7 ||m<0) return 1001;
- if (used[n][m] == -1) {
- a = rec(n + 1, m - 1);
- b = rec(n - 1, m);
- c = rec(n, m + 1);
- int mini = min(a, min(b, c));
- D[n][m] += mini + mas[n][m];
- used[n][m] = 1;
- }
- return D[n][m];
- }
- int main() {
- #ifdef _DEBUG
- freopen("input.txt", "r", stdin);
- freopen("output.txt", "w", stdout);
- #else
- freopen("king2.in", "r", stdin);
- freopen("king2.out", "w", stdout);
- #endif
- used.resize(8, vector<int>(8, -1));
- D.resize(8, vector<int>(8, 0));
- mas.resize(8, vector<int>(8, 0));
- for (int i = 0; i < 8; i++)
- for (int j = 0; j < 8; j++)
- cin >> mas[i][j];
- D[7][0] = 0;
- used[7][0] = 1;
- cout << rec(0,7);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement