Cod sursa(job #1893785)

Utilizator luanastLuana Strimbeanu luanast Data 26 februarie 2017 00:12:20
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>
#define INF 300
using namespace std;

short int a[251][251];
int n, m, i, j, cpoz, apoz, minim, x, d, sol;

ifstream fin ("lacusta.in");
ofstream fout ("lacusta.out");

int main()
{
    fin >> n >> m;

    for(i = 1; i <= n; i++){
        for(j = 1; j <= m; j++)
            fin>>a[i][j];

    }

    minim = INF;

    for(i = 2; i <= m; i++){
        d = a[1][1] + a[2][i] + a[1][i];

        if(d < minim){
            minim = d;
            apoz = i;
        }
    }

    x = minim;

    for(i = 3; i<= n; i++){
        minim = INF;
        for(j = 1; j <= m; j++){
            d = x + a [i][j] + a[i-1][j];

            if(d < minim && j!=apoz){
                minim=d;
                cpoz=j;
            }
        }

        apoz=cpoz;
        x=minim;

    }

    sol = x + a[n][m];
    fout << sol;

    return 0;
}