Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <algorithm>
- #include <cstdio>
- using namespace std;
- int ma[100][100],mayor,filas,columnas;
- int rec[100][100];
- int mejor(int i,int j, int suma){
- if(j==-1||j==columnas) return 0;
- //if(rec[i][j]>=3) return 0;
- if(i==filas-1){
- return suma+ma[i][j];
- }
- ++rec[i][j];
- mayor=max(mayor,mejor(i+1,j-1,suma+ma[i][j]));
- mayor=max(mayor,mejor(i+1,j,suma+ma[i][j]));
- mayor=max(mayor,mejor(i+1,j+1,suma+ma[i][j]));
- return mayor;
- }
- bool valida(int i,int j){
- if(i<0||i>=filas) return false;
- if(j<0||j>=columnas) return false;
- return true;
- }
- int main(){
- int T,m,n;
- scanf("%d",&T);
- for(int test=0;test<T;test++){
- scanf("%d %d",&filas,&columnas);
- for(int i=0;i<filas;i++)
- for(int j=0;j<columnas;j++){
- scanf("%d",&ma[i][j]);
- rec[i][j]=0;
- }
- mayor=0;
- int suma[100];
- for(int i=0;i<columnas;i++)
- suma[i]=ma[0][i];
- int cf=1;
- while(cf<filas){
- for(int j=0;j<columnas;j++){
- int mayora=ma[cf][j];
- //mayor de 3
- if(valido(cd,j-1))
- mayora=max(mayora,max());
- if(valido(cf,j+1))
- suma[j]=suma[j]+mayora;
- mayor=max(suma[j],mayor);
- }
- //avanza f
- ++cf;
- }
- //for(int j=0;j<columnas;j++)
- //mayor=max(mayor,mejor(0,j,0));
- printf("%d\n",mayor);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement