Pagini recente » Cod sursa (job #2072844) | Cod sursa (job #123487) | Cod sursa (job #1996095) | Istoria paginii utilizator/tudornm | Cod sursa (job #635314)
Cod sursa(job #635314)
# include <cstdio>
# include <ctime>
# include <cstring>
# include <cstdlib>
const char *FIN = "minesweeper.in", *FOU = "minesweeper.out";
const int MAX = 22;
int N, M, V[5], A[MAX][MAX];
inline double doit (void) {
memset (A, 0, sizeof (A));
memset (V, 0, sizeof (V));
double time = 0;
for (V[0] = N * M; V[2] != N * M; time += 1) {
int i = rand () % N + 1, j = rand () % M + 1;
V[A[i][j]] -= 1;
V[A[i][j] += (A[i][j] != 2 ? 1 : -2)] += 1;
}
printf ("%lf ", time);
return time;
}
int main (void) {
srand (time (NULL));
fscanf (fopen (FIN, "r"), "%d %d", &N, &M);
double sum = 0;
for (int i = 1; i <= 1000; ++i)
sum += doit ();
fprintf (fopen (FOU, "w"), "%lf", sum / 1000.0);
}