int solve(int a,int b)
{
if(ans[a][b]!=0) return ans[a][b]; // 记忆化搜索
int maxxx = 0,maxx = 0;
for(int i=0;i<4;i++)
{
int ax = a + d[i][0];
int bx = b + d[i][1];
if(ax>=0&&ax<n&&bx>=0&&bx<m&&map[a][b]>map[ax][bx])
{
maxxx
= solve(ax,bx); //四个方向能取的最大值
maxx = max(maxxx,maxx); // 取其最大的值
}
}
return maxx+1;
}
 posted on 2011-04-18 09:10  eth0  阅读(168)  评论(0编辑  收藏  举报