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