省略
省略
C++に変換後のコードはこちら
int H, W, A[400], B[400];
int res[400][400];
graph g;
int N, M, EA[4d5], EB[4d5];
int ind[2d5];
{
rd(H,W,(A--)(H),(B--)(W));
sortA(H, A);
sortA(W, B);
N = H * W;
rep(i,H){
rep(j,A[i]) arrInsert(M,M,EA,i*W+j,EB,i*W+j+1);
rep(j,A[i],W-1) arrInsert(M,M,EA,i*W+j+1,EB,i*W+j);
}
rep(i,W){
rep(j,B[i]) arrInsert(M,M,EA,j*W+i,EB,(j+1)*W+i);
rep(j,B[i],H-1) arrInsert(M,M,EA,(j+1)*W+i,EB,j*W+i);
}
g.setDirectEdge(N,M,EA,EB);
g.TopologicalSort(ind);
rep(i,N) res[ind[i]/W][ind[i]%W] = i+1;
rep(i,H) wt(res[i](W));
}
Current time: 2024年04月24日15時31分57秒
Last modified: 2019年11月02日11時41分28秒 (by laycrs)
Tags: Competitive_Programming_Incomplete yukicoder
トップページに戻る
Logged in as: unknown user (not login)