码迷,mamicode.com
首页 > 其他好文 > 详细

[2016-03-28][HDU][1078][FatMouse and Cheese]

时间:2016-04-01 23:22:10      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:

  • 时间:2016-03-28 17:40:34 星期一

  • 题目编号:[2016-03-28][HDU][1078][FatMouse and Cheese]

  1. #include <algorithm>
  2. #include <cstring>
  3. #include <cstdio>
  4. using namespace std;
  5. const int maxn = 100 + 10;
  6. int a[maxn][maxn];
  7. int dp[maxn][maxn];
  8. int n ,k;
  9. int dx[] = {1,-1,0,0};
  10. int dy[] = {0,0,-1,1};
  11. int dfs(int x,int y){
  12. if(dp[x][y] != -1){
  13. return dp[x][y];
  14. }
  15. int _x,_y,ans = 0;
  16. for(int j = 1; j <= k ;++j){
  17. for(int i = 0;i < 4 ; ++i){
  18. _x = x + dx[i]*j;
  19. _y = y + dy[i]*j;
  20. if(_x < 0 || _y <0 || _x > n || _y > n || a[_x][_y] <= a[x][y]) continue;
  21. ans = max(ans,dfs(_x,_y));
  22. }
  23. }
  24. return dp[x][y] = ans + a[x][y];
  25. }
  26. int main(){
  27. while(~scanf("%d%d",&n,&k) && (~n || ~k)){
  28. for(int i = 1;i <= n;++i){
  29. for(int j = 1;j <= n ; ++j){
  30. scanf("%d",&a[i][j]);
  31. }
  32. }
  33. memset(dp,-1,sizeof(dp));
  34. printf("%d\n",dfs(1,1));
  35. }
  36. return 0;
  37. }




[2016-03-28][HDU][1078][FatMouse and Cheese]

标签:

原文地址:http://www.cnblogs.com/qhy285571052/p/04261904cec52626a974474adc87740a.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!