LeetCode Weekly Contest 254
問題文
省略
省略
C++に変換後のコードはこちら
#define main dummy_main
{}
#undef main
class Solution {
public:
int latestDayToCross(int X, int Y, vector<vector<int>>& cells) {
dummy_main();
int i, j, d = X * Y, **s;
int node = d, st = node++, ed = node++;
unionFind uf;
dimcomp2 dm(X,Y);
uf.walloc(node,1);
walloc2d(&s, X, Y);
rep(i,X) rep(j,Y) s[i][j] = 0;
rrep(k,d){
(i, j) = (cells[k][0], cells[k][1]) - 1;
s[i][j] = 1;
rep_dist(ni,nj,i,j) if(0 <= nj < Y) {
if(ni == -1) uf(dm(i,j), st), continue;
if(ni == X) uf(dm(i,j), ed), continue;
if(s[ni][nj]) uf(dm(i,j), dm(ni,nj));
}
if(uf(st) == uf(ed)) break;
}
return k;
}
};
Current time: 2024年04月20日16時05分42秒
Last modified: 2021年08月17日01時57分48秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る
Logged in as: unknown user (not login)