#include #include #define max(a, b) (a>b ? a : b) char plocha[5][5]; char plocha2[5][5]; int pozice[5][5]; int n; bool valid() { for (int i=0; i=n || y<0 || y>=n) return; // printf("fill %d %d\n", x, y); if (plocha[y][x]!='.') return; plocha2[y][x]='*'; fill(x+dx, y+dy, dx, dy); } bool ohrozujise() { memcpy(plocha2, plocha, 25); for (int i=0; i=kamenu) continue; if (kamenu>(n*n+1)/2) continue; if (valid()) { if (!ohrozujise()) { best=kamenu; } } } printf("%d\n", best); } int main() { scanf("%d\n", &n); while (n!=0) { alg(); scanf("%d\n", &n); } return 0; }