#include <stdio.h>
int squ[500][500]={0};
int c=0;
int re(int n, int m, int x, int y, int dot);
int main(void)
{
int n, m, i, j;
scanf(" %d %d", &m, &n);
for(i=0; i<m; i++)
{
for(j=0; j<n; j++)
{
scanf(" %d", &squ[i][j]);
}
}
re(m, n, 0, 0, squ[0][0]);
printf("%d", c);
return 0;
}
int re(int m, int n, int x, int y, int dot)
{
if(x==(m-1) && y==(n-1))
{
c++;
return 0;
}
if(squ[x+1][y]<dot)
{
re(m, n, x+1, y, squ[x+1][y]);
}
if(squ[x-1][y]<dot)
{
re(m, n, x-1, y, squ[x-1][y]);
}
if(squ[x][y+1]<dot)
{
re(m, n, x, y+1, squ[x][y+1]);
}
if(squ[x][y-1]<dot)
{
re(m, n, x, y-1, squ[x][y-1]);
}
return 0;
}
2018.06.23 09:38
정올 - 문제은행 - 내리막길(1024) - Time Limit Exceed
조회 수 287 추천 수 0 댓글 0