使い方
ConvIndex2.conv(y,x)
で$(x,y)$を一次元のインデックスに変換する.
ConvIndex3.conv(z,y,x)
で$(x,y,z)$を一次元のインデックスに変換する.
実装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| class ConvIndex2 {
int y, x;
public:
ConvIndex2(int _y, int _x) : y(_y), x(_x) {}
int conv(int _y, int _x) { return _y * x + _x; }
int prod() { return y * x; }
};
class ConvIndex3 {
int z, y, x;
public:
ConvIndex3(int _z, int _y, int _x) : z(_z), y(_y), x(_x) {}
int conv(int _z, int _y, int _x) { return _z * y * x + _y * x + _x; }
int prod() { return z * y * x; }
};
|