16 return (x >= 0 && x < length && y >= 0 && y < length);
30int light(
bool **room,
int length,
int lightning_radius,
int x,
int y) {
31 int inlight_boxes = 0;
33 for (i = -lightning_radius + 1; i < lightning_radius; ++i) {
34 for (j = -lightning_radius + 1; j < lightning_radius; ++j) {
35 if (
is_in_room(length, x + i, y + j) && !room[x + i][y + j]) {
36 room[x + i][y + j] = 1;
53 int hiding_places = N * N;
55 room = malloc(N *
sizeof(*room));
56 for (i = 0; i < N; ++i) {
57 room[i] = malloc(N *
sizeof(
bool));
60 for (
int i = 0; i < N; i++) {
61 for (
int j = 0; j < N; j++) {
65 hiding_places -=
light(room, N, L, i, j);
70 for (i = 0; i < N; ++i) {
75 printf(
"%d\n", hiding_places);
bool is_in_room(int length, int x, int y)
Teste si la case existe.
int light(bool **room, int length, int lightning_radius, int x, int y)
Eclaire les cases autour de la bougie (x, y)