AlexNeagu11

Lacusta

Jan 28th, 2022
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. #include <fstream>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. ifstream fin("lacusta.in");
  7. ofstream fout("lacusta.out");
  8.  
  9. const int NMAX = 255;
  10. const int MMAX = 255;
  11. const int INF = 2000000000;
  12. int T[NMAX][MMAX], V[NMAX][MMAX];
  13. int N, M;
  14.  
  15. int main() {
  16. fin >> N >> M;
  17. for (int i = 1; i <= N; i++) {
  18. for (int j = 1; j <= M; j++) {
  19. fin >> T[i][j];
  20. }
  21. }
  22. for (int i= 1; i <= N; i++) {
  23. for (int j = 1; j <= M; j++) {
  24. V[i][j] = INF;
  25. }
  26. }
  27. for (int i = 2; i <= M; i++) {
  28. V[1][i] = T[1][1] + T[1][i];
  29. }
  30.  
  31. for (int i = 2; i <= M; i++) {
  32. V[2][i] = T[2][i] + V[1][i];
  33. }
  34.  
  35. for (int i = 3; i <= N; i++) {
  36. for (int j = 1; j <= M; j++) {
  37. for (int k = 1; k <= M; k++) {
  38. if (k != j) {
  39. V[i][k] = min(V[i][k], T[i][k] + T[i - 1][k] + V[i - 1][j]);
  40. }
  41. }
  42. }
  43. }
  44. V[N][M] = INF;
  45. for (int i = 1; i < M; i++) {
  46. V[N][M] = min(V[N][M], V[N][i] + T[N][M]);
  47. }
  48. fout << V[N][M] << " ";
  49. return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment