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

Leetcode-5215 Path with Maximum Gold(黄金矿工)

时间:2019-10-06 15:05:38      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:tco   bsp   class   max   mem   mod   etc   def   金矿   

 1 typedef long long ll;
 2 typedef pair<int,int> P;
 3 #define _for(i,a,b) for(register int i = (a);i < b;i ++)
 4 #define _rep(i,a,b) for(register int i = (a);i > b;i --)
 5 #define INF 0x3f3f3f3f
 6 #define MOD 100000000
 7 #define maxn 10003
 8 
 9 const int dx[] = {1,-1,0,0};
10 const int dy[] = {0,0,1,-1};
11 class Solution
12 {
13     public:
14         
15         int vis[100][100];
16         vector<vector<int>> v;
17         int ans = 0;
18         bool valid(int x,int y)
19         {
20             return x>=0 && x<v.size() && y>=0 && y<v[0].size();
21         }
22         void dfs(int x,int y,int get)
23         {
24             ans = max(ans,get);
25             _for(i,0,4)
26             {
27                 int nx = x+dx[i];
28                 int ny = y+dy[i];
29                 if(valid(nx,ny) && !vis[nx][ny] && v[nx][ny])
30                 {
31                     vis[nx][ny] = 1;
32                     dfs(nx,ny,get+v[nx][ny]);
33                     vis[nx][ny] = 0;
34                 }
35             }
36         }
37         int getMaximumGold(vector<vector<int>>& grid)
38         {
39             v = grid;
40             _for(i,0,grid.size())
41                 _for(j,0,grid[i].size())
42                     if(v[i][j])
43                     {
44                         memset(vis,0,sizeof(vis));
45                         vis[i][j] = 1;
46                         dfs(i,j,v[i][j]);
47                     }
48             return ans;
49         }
50 };

 

Leetcode-5215 Path with Maximum Gold(黄金矿工)

标签:tco   bsp   class   max   mem   mod   etc   def   金矿   

原文地址:https://www.cnblogs.com/Asurudo/p/11627161.html

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