class Ideone
{
private static int[][][] cartesianProduct(int[] A, int[] B) {
int width = B.length;
int height = A.length;
int[][][] result = new int[height][width][2];
for (int ai = 0; ai < height; ai++) {
for (int bi = 0; bi < width; bi++) {
result[ai][bi][0] = A[ai];
result[ai][bi][1] = B[bi];
}
}
return result;
}
public static void main
(String[] args
) {
int[] B = {4, 2, 3};
int[] a2 = {2, 5};
int[][][] product = cartesianProduct(B, a2);
System.
out.
println(productString
(product
)); }
private static String productString
(int[][][] p
) { for (int ai = 0; ai < p.length; ai++) {
for (int bi = 0; bi < p[ai].length; bi++) {
s += "(" + p[ai][bi][0] + "," + p[ai][bi][1] + ") ";
}
s += "\n";
}
return s;
}
}
Y2xhc3MgSWRlb25lCnsKCXByaXZhdGUgc3RhdGljIGludFtdW11bXSBjYXJ0ZXNpYW5Qcm9kdWN0KGludFtdIEEsIGludFtdIEIpIHsgCgkJaW50IHdpZHRoID0gQi5sZW5ndGg7CgkJaW50IGhlaWdodCA9IEEubGVuZ3RoOwoJCWludFtdW11bXSByZXN1bHQgPSBuZXcgaW50W2hlaWdodF1bd2lkdGhdWzJdOwoJCWZvciAoaW50IGFpID0gMDsgYWkgPCBoZWlnaHQ7IGFpKyspIHsKCQkJZm9yIChpbnQgYmkgPSAwOyBiaSA8IHdpZHRoOyBiaSsrKSB7CgkJCQlyZXN1bHRbYWldW2JpXVswXSA9IEFbYWldOwoJCQkJcmVzdWx0W2FpXVtiaV1bMV0gPSBCW2JpXTsKCQkJfQoJCX0KCQlyZXR1cm4gcmVzdWx0OwoJfQoJCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykKCXsKCQlpbnRbXSBCID0gezQsIDIsIDN9OwoJCWludFtdIGEyID0gezIsIDV9OwoJCWludFtdW11bXSBwcm9kdWN0ID0gY2FydGVzaWFuUHJvZHVjdChCLCBhMik7CgkJU3lzdGVtLm91dC5wcmludGxuKHByb2R1Y3RTdHJpbmcocHJvZHVjdCkpOwoJfQoJCglwcml2YXRlIHN0YXRpYyBTdHJpbmcgcHJvZHVjdFN0cmluZyhpbnRbXVtdW10gcCkgewoJCVN0cmluZyBzID0gIiI7CgkJZm9yIChpbnQgYWkgPSAwOyBhaSA8IHAubGVuZ3RoOyBhaSsrKSB7CgkJCWZvciAoaW50IGJpID0gMDsgYmkgPCBwW2FpXS5sZW5ndGg7IGJpKyspIHsKCQkJCXMgKz0gIigiICsgcFthaV1bYmldWzBdICsgIiwiICsgcFthaV1bYmldWzFdICsgIikgIjsKCQkJfQoJCQlzICs9ICJcbiI7CgkJfQoJCXJldHVybiBzOwoJfQp9