Cod sursa(job #3004959)

Utilizator JurchiJurcut Raul Gabriel Jurchi Data 16 martie 2023 18:25:31
Problema Evaluarea unei expresii Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.02 kb
#include <bits/stdc++.h>

#define NMAX 1005
#define INF INT_MAX

using namespace std;

ifstream in("zoro.in");
ofstream out("zoro.out");

int n,m;
int a[NMAX][NMAX],l[NMAX],c[NMAX];
int d[NMAX][NMAX];

struct coord{
     int lin;
     int col;
}viz[NMAX*NMAX];

int nmax;

void citire()
{
     in>>n>>m;
     for(int i=1;i<=n;i++)
          for(int j=1;j<=m;j++)
          {
               in>>a[i][j];
               viz[a[i][j]].lin=i;
               viz[a[i][j]].col=j;
               if(i==1&&j==1)
                    nmax=a[i][j];
          }
}

void rezolvare()
{
    l[1]=1;
    c[1]=1;
    d[1][1]=1;
    for(int k=a[1][1]-1;k>=1;k--)
    {
         int lin=viz[k].lin;
         int col=viz[k].col;
         int nr=max(l[lin],c[col]);
         if(nr>0)
         {
              d[lin][col]=nr+1;
              l[lin]=max(l[lin],d[lin][col]);
              c[col]=max(c[col],d[lin][col]);
         }

    }
    out<<d[n][m];
}

int main()
{
     citire();
     rezolvare();
}