LeetCode Weekly Contest 181 3問目 - Check if There is a Valid Path in a Grid [1391]

Source

LeetCode Weekly Contest 181
問題文

問題概要

省略

解法

省略

cLayversion 20200325-1)のコード

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

#define main dummy_main
{}
#undef main

int con[6][4] = { // U, L, D, R
  0,1,0,1,
  1,0,1,0,
  0,1,1,0,
  0,0,1,1,
  1,1,0,0,
  1,0,0,1
};

class Solution {
public:
  bool hasValidPath(vector<vector<int>>& A) {
    dummy_main();
    int X = A.size(), Y = A[0].size();
    unionFind uf;
    uf.walloc(X*Y, 1);
    rep(i,X) rep(j,Y) A[i][j]--;
    rep(i,X) rep(j,Y-1) if(con[A[i][j]][3] && con[A[i][j+1]][1]) uf(i*Y+j, i*Y+j+1);
    rep(i,X-1) rep(j,Y) if(con[A[i][j]][2] && con[A[i+1][j]][0]) uf(i*Y+j, (i+1)*Y+j);
    return uf(0) == uf(X*Y-1);
  }
};

Current time: 2024年03月29日06時46分24秒
Last modified: 2020年03月30日02時54分20秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る

Logged in as: unknown user (not login)

ログイン: