Here looks not right:
for (t = r; t * t <= k; t++) if (k % t == 0) {
if (t != i && t + k / t <= p * 2 && valid[t + k / t]) good[i][j] = 0;
}
Thanks!
for (t = r; t * t <= k; t++) if (k % t == 0) {
if (t != i && t + k / t <= p * 2 && valid[t + k / t]) good[i][j] = 0;
}
Thanks!