#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 5
#define BOMBS 3
char board[SIZE][SIZE];
char show[SIZE][SIZE];
void init() {
for (int i = 0; i < SIZE; i++)
for (int j = 0; j < SIZE; j++)
board[i][j] = show[i][j] = '.';
int placed = 0;
while (placed < BOMBS) {
if (board[r][c] != '*') {
board[r][c] = '*';
placed++;
}
}
}
void printBoard() {
for (int i
= 0; i
< SIZE
; i
++) printf("%d ", i
); for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++)
}
}
int main() {
init();
int x, y;
int safe = SIZE * SIZE - BOMBS;
while (1) {
printBoard();
printf("Enter position to open (row column): "); scanf("%d %d", &x, &y);
if (x < 0 || x >= SIZE || y < 0 || y >= SIZE) {
printf("Invalid position!\n"); continue;
}
if (board[x][y] == '*') {
printf("Boom! You hit a bomb. Game over.\n"); break;
}
if (show[x][y] == '.') {
show[x][y] = 'O';
safe--;
}
if (safe == 0) {
printf("Congratulations! You win!\n"); break;
}
}
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++)
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHRpbWUuaD4KCiNkZWZpbmUgU0laRSA1CiNkZWZpbmUgQk9NQlMgMwoKY2hhciBib2FyZFtTSVpFXVtTSVpFXTsKY2hhciBzaG93W1NJWkVdW1NJWkVdOwoKdm9pZCBpbml0KCkgewogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBTSVpFOyBpKyspCiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBTSVpFOyBqKyspCiAgICAgICAgICAgIGJvYXJkW2ldW2pdID0gc2hvd1tpXVtqXSA9ICcuJzsKCiAgICBpbnQgcGxhY2VkID0gMDsKICAgIHdoaWxlIChwbGFjZWQgPCBCT01CUykgewogICAgICAgIGludCByID0gcmFuZCgpICUgU0laRTsKICAgICAgICBpbnQgYyA9IHJhbmQoKSAlIFNJWkU7CiAgICAgICAgaWYgKGJvYXJkW3JdW2NdICE9ICcqJykgewogICAgICAgICAgICBib2FyZFtyXVtjXSA9ICcqJzsKICAgICAgICAgICAgcGxhY2VkKys7CiAgICAgICAgfQogICAgfQp9Cgp2b2lkIHByaW50Qm9hcmQoKSB7CiAgICBwcmludGYoIiAgIik7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IFNJWkU7IGkrKykgcHJpbnRmKCIlZCAiLCBpKTsKICAgIHByaW50ZigiXG4iKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgU0laRTsgaSsrKSB7CiAgICAgICAgcHJpbnRmKCIlZCAiLCBpKTsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IFNJWkU7IGorKykKICAgICAgICAgICAgcHJpbnRmKCIlYyAiLCBzaG93W2ldW2pdKTsKICAgICAgICBwcmludGYoIlxuIik7CiAgICB9Cn0KCmludCBtYWluKCkgewogICAgc3JhbmQodGltZSgwKSk7CiAgICBpbml0KCk7CgogICAgaW50IHgsIHk7CiAgICBpbnQgc2FmZSA9IFNJWkUgKiBTSVpFIC0gQk9NQlM7CgogICAgd2hpbGUgKDEpIHsKICAgICAgICBwcmludEJvYXJkKCk7CiAgICAgICAgcHJpbnRmKCJFbnRlciBwb3NpdGlvbiB0byBvcGVuIChyb3cgY29sdW1uKTogIik7CiAgICAgICAgc2NhbmYoIiVkICVkIiwgJngsICZ5KTsKCiAgICAgICAgaWYgKHggPCAwIHx8IHggPj0gU0laRSB8fCB5IDwgMCB8fCB5ID49IFNJWkUpIHsKICAgICAgICAgICAgcHJpbnRmKCJJbnZhbGlkIHBvc2l0aW9uIVxuIik7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KCiAgICAgICAgaWYgKGJvYXJkW3hdW3ldID09ICcqJykgewogICAgICAgICAgICBwcmludGYoIkJvb20hIFlvdSBoaXQgYSBib21iLiBHYW1lIG92ZXIuXG4iKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQoKICAgICAgICBpZiAoc2hvd1t4XVt5XSA9PSAnLicpIHsKICAgICAgICAgICAgc2hvd1t4XVt5XSA9ICdPJzsKICAgICAgICAgICAgc2FmZS0tOwogICAgICAgIH0KCiAgICAgICAgaWYgKHNhZmUgPT0gMCkgewogICAgICAgICAgICBwcmludGYoIkNvbmdyYXR1bGF0aW9ucyEgWW91IHdpbiFcbiIpOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9CgogICAgcHJpbnRmKCJcbkFjdHVhbCBib2FyZDpcbiIpOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBTSVpFOyBpKyspIHsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IFNJWkU7IGorKykKICAgICAgICAgICAgcHJpbnRmKCIlYyAiLCBib2FyZFtpXVtqXSk7CiAgICAgICAgcHJpbnRmKCJcbiIpOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 5
#define BOMBS 3
char board[SIZE][SIZE];
char show[SIZE][SIZE];
void init() {
for (int i = 0; i < SIZE; i++)
for (int j = 0; j < SIZE; j++)
board[i][j] = show[i][j] = '.';
int placed = 0;
while (placed < BOMBS) {
int r = rand() % SIZE;
int c = rand() % SIZE;
if (board[r][c] != '*') {
board[r][c] = '*';
placed++;
}
}
}
void printBoard() {
printf(" ");
for (int i = 0; i < SIZE; i++) printf("%d ", i);
printf("\n");
for (int i = 0; i < SIZE; i++) {
printf("%d ", i);
for (int j = 0; j < SIZE; j++)
printf("%c ", show[i][j]);
printf("\n");
}
}
int main() {
srand(time(0));
init();
int x, y;
int safe = SIZE * SIZE - BOMBS;
while (1) {
printBoard();
printf("Enter position to open (row column): ");
scanf("%d %d", &x, &y);
if (x < 0 || x >= SIZE || y < 0 || y >= SIZE) {
printf("Invalid position!\n");
continue;
}
if (board[x][y] == '*') {
printf("Boom! You hit a bomb. Game over.\n");
break;
}
if (show[x][y] == '.') {
show[x][y] = 'O';
safe--;
}
if (safe == 0) {
printf("Congratulations! You win!\n");
break;
}
}
printf("\nActual board:\n");
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++)
printf("%c ", board[i][j]);
printf("\n");
}
return 0;
}