LeetCode Weekly Contest 157 3問目 - Path with Maximum Gold [1219]

Source

LeetCode Weekly Contest 157
問題文

問題概要

省略

解法

省略

cLayversion 20191102-1)のコード

C++に変換後のコードはこちら

#define main dummy_main
{}
#undef main

int X, Y, S[15][15];
int vis[15][15];
int dx[4] = {-1,1,0,0};
int dy[4] = {0,0,-1,1};

int solve(int i, int j){
  int ni, nj, d;
  int res, tmp = 0;

  res = S[i][j];
  vis[i][j] = 1;

  rep(d,4){
    ni = i + dx[d];
    nj = j + dy[d];
    if(ni < 0 || nj < 0 || ni >= X || nj >= Y || vis[ni][nj]) continue;
    tmp >?= solve(ni,nj);
  }

  vis[i][j] = 0;
  return res + tmp;
}

class Solution {
public:
  int getMaximumGold(vector<vector<int>>& grid) {
    int res = 0;
    X = grid.size();
    Y = grid[0].size();
    rep(i,X) rep(j,Y) S[i][j] = grid[i][j];
    rep(i,X) rep(j,Y) vis[i][j] = 0;
    rep(i,X) rep(j,Y) if(S[i][j]==0) vis[i][j] = 1;
    rep(i,X) rep(j,Y) if(vis[i][j]==0) res >?= solve(i,j);
    return res;
  }
};

Current time: 2024年04月25日16時36分07秒
Last modified: 2019年11月03日19時05分19秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る

Logged in as: unknown user (not login)

ログイン: