POJ1088(记忆化搜索)
经典记忆化搜索题目。当 从每个点一次进行搜索时要采用 记忆化搜索
#include"cstdio" #include"algorithm" using namespace std; const int MAXN=105; int g[MAXN][MAXN]; int t[MAXN][MAXN]; int maxn; int n,m; int by,bx; int ans; int dx[4]={1,0,-1,0}; int dy[4]={0,1,0,-1}; int dfs(int y,int x) { if(t[y][x]) return t[y][x]; int k=0; for(int i=0;i<4;i++) { int ny=dy[i]+y; int nx=dx[i]+x; if(0<=ny&&ny<n&&0<=nx&&nx<m&&g[ny][nx]<g[y][x]) { k=max(dfs(ny,nx),k); } } return t[y][x]=k+1; } int main() { scanf("%d %d",&n,&m); for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { scanf("%d",&g[i][j]); } } for(int i=0;i<n;i++) for(int j=0;j<m;j++) { ans=max(dfs(i,j),ans); } printf("%d\n",ans); return 0; }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步