This documentation is automatically generated by online-judge-tools/verification-helper
#include "linalg/transpose.hpp"
template <typename VC>
vc<VC> transpose(const vc<VC>& A, int H = -1, int W = -1) {
if (H == -1) { H = len(A), W = (len(A) == 0 ? 0 : len(A[0])); }
vc<VC> B(W, VC(H, 0));
FOR(x, H) FOR(y, W) B[y][x] = A[x][y];
return B;
}
#line 1 "linalg/transpose.hpp"
template <typename VC>
vc<VC> transpose(const vc<VC>& A, int H = -1, int W = -1) {
if (H == -1) { H = len(A), W = (len(A) == 0 ? 0 : len(A[0])); }
vc<VC> B(W, VC(H, 0));
FOR(x, H) FOR(y, W) B[y][x] = A[x][y];
return B;
}