炒鸡基础的深度优先搜索。。
看到洛谷的大牛分站还有这样的水题我好感动。。。!
裸的深搜,或者你不回溯模拟也行。。上代码。
#include<iostream>
using namespace std;
int r,c,p[42][42],ans;
void dfs(int x,int y)
{
ans+=p[x][y];
p[x][y]=0;
if(x==r && y==c)
return;
if(p[x-1][y]>p[x+1][y] && p[x-1][y]>p[x][y-1] && p[x-1][y]>p[x][y+1])
dfs(x-1,y);
else if(p[x+1][y]>p[x][y-1] && p[x+1][y]>p[x][y+1])
dfs(x+1,y);
else if(p[x][y-1]>p[x][y+1])
dfs(x,y-1);
else
dfs(x,y+1);
return;
}
void read()
{
int i,j;
std::ios::sync_with_stdio(false);
cin>>r>>c;
for(i=1; i<=r; i++)
for(j=1; j<=c; j++)
cin>>p[i][j];
dfs(1,1);
cout<<ans;
return;
}
int main()
{
read();
return 0;
}
AC。