Cod sursa(job #1894089)

Utilizator miha1000Dica Mihai miha1000 Data 26 februarie 2017 14:31:26
Problema Drumuri minime Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.16 kb
#include <iostream>
#include <fstream>
using namespace std;

int a[255][255];

int sum[255];

int main()
{
    int suma,i,j,m,n,minim,p,q;
    ifstream f("lacusta.in");
    ofstream g("lacusta.out");
    f >> m >> n;
    for(j=1;j<=n;j++){
       f >> a[1][j];
       sum[j]=a[1][j];
    }
    suma=a[1][1];
    q=1;
    for(i=2;i<=m;i++){
        minim=800;
        for(j=1;j<=n;j++){
            f >> a[i][j];
            sum[j]=sum[j]+a[i][j];
            if (minim>sum[j] && j!=q ){
                minim=sum[j];
                p=j;
                cout << i << " " << j  << "\n";
            }
            sum[j]=sum[j]-a[i-1][j];
        }
        suma=suma+minim;
        cout << suma << "\n";
        q=p;
    }
    /*for(i=1;i<=n;i++) sum[i]=a[1][i];
    for(i=1;i<=m-1;i++){
        minim=800;
        for(j=1;j<=n;j++){
            sum[j]=sum[j]+a[i+1][j];
            if (minim>sum[j] && j!=q ){
                minim=sum[j];
                p=j;
            }
            sum[j]=sum[j]-a[i][j];
        }
        suma=suma+minim;
        cout << suma << " ";
        q=p;
    }*/
    suma=suma+a[m][n];
    g << suma;
}