#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
조회 수 247 추천 수 0 댓글 0