/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
// your code goes here
test();
}
static void test() {
int[][] field = new int[][] {
{2, 2, 2, 2, 2, 2, 2, 1, 4, 5},
{0, 11, 1, 8, 2, 6, 1, 1, 1, 1},
{7, 3, 0, 7, 1, 0, 2, 4, 0, 4},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
};
for (int r = 3; r < field.length; r++) {
for (int c = 0; c < 10; c++)
field[r][c] = rng.nextInt(10);
}
int count = 0;
for (int r = 0; r < field.length; r++) {
int[] sum = new int[11];
System.
out.
println("row: " + r
); for (int i = 0; i < 10; i++) {
System.
out.
print(" " + field
[r
][i
]); if (field[r][i] == 0)
sum[i + 1] = -sum[i];
else
sum[i + 1] = sum[i] + field[r][i];
}
for (int c1 = 0; c1 < 10; c1++) {
for (int c2 = c1; c2 < 10; c2++) {
int s = sum[c2+1] - sum[c1];
if (s == 10) {
count += c2 - c1 + 1;
System.
out.
printf("%d -> %d (%d)%n", c1, c2, c2
- c1
+ 1); for (int i = c1; i <= c2; i++) {
System.
out.
printf(" %d", field
[r
][i
]); }
}
}
}
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCgkJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJCXRlc3QoKTsKCX0KCQoJCiAgICBzdGF0aWMgdm9pZCB0ZXN0KCkgewogICAgICAgIGludFtdW10gZmllbGQgPSBuZXcgaW50W11bXSB7CiAgICAgICAgICAgIHsyLCAyLCAyLCAyLCAyLCAgMiwgMiwgMSwgNCwgNX0sCiAgICAgICAgICAgIHswLCAxMSwgMSwgOCwgMiwgIDYsIDEsIDEsIDEsIDF9LAogICAgICAgICAgICB7NywgMywgMCwgNywgMSwgIDAsIDIsIDQsIDAsIDR9LAogICAgICAgICAgICB7MCwgMCwgMCwgMCwgMCwgIDAsIDAsIDAsIDAsIDB9LAogICAgICAgICAgICB7MCwgMCwgMCwgMCwgMCwgIDAsIDAsIDAsIDAsIDB9LAogICAgICAgICAgICB7MCwgMCwgMCwgMCwgMCwgIDAsIDAsIDAsIDAsIDB9LAogICAgICAgICAgICB7MCwgMCwgMCwgMCwgMCwgIDAsIDAsIDAsIDAsIDB9LAogICAgICAgICAgICB7MCwgMCwgMCwgMCwgMCwgIDAsIDAsIDAsIDAsIDB9LAogICAgICAgICAgICB7MCwgMCwgMCwgMCwgMCwgIDAsIDAsIDAsIDAsIDB9CiAgICAgICAgfTsKICAgICAgICBSYW5kb20gcm5nID0gbmV3IFJhbmRvbSgpOwogICAgICAgIGZvciAoaW50IHIgPSAzOyByIDwgZmllbGQubGVuZ3RoOyByKyspIHsKICAgICAgICAgICAgZm9yIChpbnQgYyA9IDA7IGMgPCAxMDsgYysrKQogICAgICAgICAgICAgICAgZmllbGRbcl1bY10gPSBybmcubmV4dEludCgxMCk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgICAgICBpbnQgY291bnQgPSAwOwogICAgICAgICAgICBmb3IgKGludCByID0gMDsgciA8IGZpZWxkLmxlbmd0aDsgcisrKSB7CiAgICAgICAgICAgICAgICBpbnRbXSBzdW0gPSBuZXcgaW50WzExXTsKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigicm93OiAiICsgcik7CiAgICAgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IDEwOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50KCIgIiArIGZpZWxkW3JdW2ldKTsKICAgICAgICAgICAgICAgICAgICBpZiAoZmllbGRbcl1baV0gPT0gMCkKICAgICAgICAgICAgICAgICAgICAJc3VtW2kgKyAxXSA9IC1zdW1baV07CiAgICAgICAgICAgICAgICAJZWxzZQogICAgICAgICAgICAgICAgICAgIAlzdW1baSArIDFdID0gc3VtW2ldICsgZmllbGRbcl1baV07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oKTsKICAgICAgICAgICAgICAgIGZvciAoaW50IGMxID0gMDsgYzEgPCAxMDsgYzErKykgewogICAgICAgICAgICAgICAgCWZvciAoaW50IGMyID0gYzE7IGMyIDwgMTA7IGMyKyspIHsKICAgICAgICAgICAgICAgIAkJaW50IHMgPSBzdW1bYzIrMV0gLSBzdW1bYzFdOwogICAgICAgICAgICAgICAgCQlpZiAocyA9PSAxMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQgKz0gYzIgLSBjMSArIDE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50ZigiJWQgLT4gJWQgKCVkKSVuIiwgYzEsIGMyLCBjMiAtIGMxICsgMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGludCBpID0gYzE7IGkgPD0gYzI7IGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRmKCIgJWQiLCBmaWVsZFtyXVtpXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgfQp9