hdu1078

#include <stdio.h> #include <string.h> #include <algorithm> using namespace std; int n,k,dp[105][105],a[105][105]; int to[4][2] = {1,0,-1,0,0,1,0,-1}; int check(int x,int y) { if(x<1 || y<1 || x>n || y>n) return 1; return 0; } int dfs(int x,int y) { int i,j,l,ans = 0; if(!dp[x][y]) { for(i = 1; i<=k; i++) { for(j = 0; j<4; j++) { int xx = x+to[j][0]*i; int yy = y+to[j][1]*i; if(check(xx,yy)) continue; if(a[xx][yy]>a[x][y]) ans = max(ans,dfs(xx,yy)); } } dp[x][y] = ans+a[x][y]; } return dp[x][y]; } int main() { int i,j; while(~scanf("%d%d",&n,&k),n>0&&k>0) { for(i = 1; i<=n; i++) for(j = 1; j<=n; j++) scanf("%d",&a[i][j]); memset(dp,0,sizeof(dp)); printf("%d\n",dfs(1,1)); } return 0; }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • hdu1017

    @坤的
  • hdu1014

    @坤的
  • hdu1040

    @坤的
  • BZOJ2595: [Wc2008]游览计划(斯坦纳树,状压DP)

    attack
  • POJ-1088 滑雪 (记忆化搜索,dp)

    滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 86318 ...

    ShenduCC
  • cf547D. Mike and Fish(欧拉回路)

    attack
  • Lake Counting (POJ No.2386)

    题意:有一个M*N的圈子,雨后有积水,然后八个方位相联通的被认为是连接在一起的。请求出圈子里共有多少个水洼。

    用户7727433
  • HDU 3078 Network

    Problem Description The ALPC company is now working on his own network system,...

    attack
  • ZR18提高5解题报告

    设$f[i][j]$表示前$i$个位置,前缀和为$j$的方案数,转移的时候该位置放了什么,以及该位置之前的和是多少。

    attack
  • 数组的简单练习题

    1.将一个给定的整型数组转置输出, 例如: 源数组,1 2 3 4 5 6 转置之后的数组,6 5 4 3 2 1

    阮键

扫码关注云+社区

领取腾讯云代金券