#include #include int main() { int obsadenych = 0, sirka, vyska, dam; char ** sach; scanf("%d%d%d", &sirka, &vyska, &dam); sach = (char **) calloc(vyska, sizeof(char *)); int pom; for (pom = 0; pom < vyska; pom++) { sach[pom] = (char *) calloc(sirka, sizeof(char)); } while (sirka != 0) { int k; for (k = 0; k < dam; k++) { int x,y; scanf("%d%d", &y, &x); x--; y--; int i, j; for (i = 0; i < vyska; i++) { if (sach[i][y] != -1) { obsadenych++; sach[i][y] = -1; } } for (j = 0; j < sirka; j++) { if (sach[x][j] != -1) { obsadenych++; sach[x][j] = -1; } } for (i = x + 1, j = y + 1; i < vyska && j < sirka; i++, j++) { if (sach[i][j] != -1) { obsadenych++; sach[i][j] = -1; } } for (i = x - 1, j = y - 1; i >= 0 && j >= 0; i--, j--) { if (sach[i][j] != -1) { obsadenych++; sach[i][j] = -1; } } for (i = x + 1, j = y - 1; i < vyska && j >= 0; i++, j--) { if (sach[i][j] != -1) { obsadenych++; sach[i][j] = -1; } } for (i = x - 1, j = y + 1; i >= 0 && j < sirka; i--, j++) { if (sach[i][j] != -1) { obsadenych++; sach[i][j] = -1; } } } printf("%d\n", sirka * vyska - obsadenych); for (pom = 0; pom < vyska; pom++) free(sach[pom]); free(sach); scanf("%d%d%d", &sirka, &vyska, &dam); sach = (char **) calloc(vyska, sizeof(char *)); for (pom = 0; pom < vyska; pom++) { sach[pom] = (char *) calloc(sirka, sizeof(char)); } obsadenych = 0; } return 0; }