2020年11月23日17時34分07秒に更新されたバージョンを表示しています.
最新のページはこちらをご覧ください.
AtCoder Beginner Contest 184
問題文
省略
省略
C++に変換後のコードはこちら
//working_memory=500MB
int X, Y;
char S[2000][2002];
int n, m, a[3d7], b[3d7], c[3d7];
wgraph<int> g;
{
int i, j, ni, nj, st, ed;
const int dx[4] = {-1, 1, 0, 0};
const int dy[4] = {0, 0, -1, 1};
dimcomp2 dm;
rd(X,Y,S(X));
dm.set(X,Y);
n = X * Y + 26;
rep(i,X) rep(j,Y) if(S[i][j]=='S') st = dm(i,j);
rep(i,X) rep(j,Y) if(S[i][j]=='G') ed = dm(i,j);
rep(i,X) rep(j,Y) if('a' <= S[i][j] <= 'z'){
arrInsert(m, m, a, dm(i,j), b, X*Y+S[i][j]-'a', c, 1);
arrInsert(m, m, a, X*Y+S[i][j]-'a', b, dm(i,j), c, 0);
}
rep(i,X) rep(j,Y) if(S[i][j] != '#') rep(d,4){
(ni, nj) = (i + dx[d], j + dy[d]);
if(0 <= ni < X && 0 <= nj < Y && S[ni][nj] != '#') arrInsert(m, m, a, dm(i,j), b, dm(ni,nj), c, 1);
}
g.setDirectEdge(n, m, a, b, c);
wt(g.getDist01(st,ed));
}
Current time: 2024年05月04日18時07分22秒
Last modified: 2020年11月23日17時34分07秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Beginner_Contest ABC184 ABC_E
トップページに戻る
Logged in as: unknown user (not login)