LeetCode Weekly Contest 162 3問目 - Number of Closed Islands [1254]

Source

LeetCode Weekly Contest 162
問題文

問題概要

省略

解法

省略

cLayversion 20191108-1)のコード

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

#define main dummy_main
{}
#undef main

int X, Y, ok, mp[100][100];

void nul(int i, int j){
  if(i < 0 || j < 0 || i >= X || j >= Y) ok = 0, return;
  if(mp[i][j]==1 || mp[i][j]==2) return;
  mp[i][j] = 2;
  nul(i, j - 1);
  nul(i, j + 1);
  nul(i - 1, j);
  nul(i + 1, j);
}

class Solution {
public:
  int closedIsland(vector<vector<int>>& grid) {
    int res = 0;
    X = grid.size();
    Y = grid[0].size();
    rep(i,X) rep(j,Y) mp[i][j] = grid[i][j];
    rep(i,X) rep(j,Y) if(mp[i][j]==0){
      ok = 1;
      nul(i,j);
      res += ok;
    }
    return res;
  }
};

Current time: 2024年03月28日20時15分42秒
Last modified: 2019年11月10日13時47分26秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る

Logged in as: unknown user (not login)

ログイン: