Pagini recente » Cod sursa (job #569795) | Cod sursa (job #320796) | Cod sursa (job #439063) | Cod sursa (job #1905403) | Cod sursa (job #648136)
Cod sursa(job #648136)
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <ctime>
#include <iostream>
using namespace std;
int check(int linii[],int size)
{register int i;
for ( i=0;i<size;i+=1)
if (linii[i] %3 != 0)
return 0;
return 1;
}
int main()
{
//clock_t start,end;
srand(time(NULL));
//start = clock();
int n,m,r,pressTimes=0,size;
register int i,j;
float medie = 0;
FILE* input = fopen("minesweeper.in","r");
fscanf(input,"%d %d",&n,&m);
fclose(input);
size = n*m;
int v[size];
//cout << "Vector Alocat !" << endl;
//cout << "n= " << n << " m= " << m << "size= " << size << endl;
for (i=0;i<501;i+=1)
{ //cout << "------------------------------------------------" << endl;
//cout << "Testul " << i << endl;
pressTimes = 0;
int nr = size;
memset(v,1,sizeof(v));
while (nr != 0)
{
int prec = rand() % size;
r = rand() % size;
//cout << r << endl;
if (v[r] %3 == 0) {nr++;}
v[r] += 1;
if (v[r] % 3 == 0) {nr--;}
pressTimes += 1;
//cin >> r;
}
medie += pressTimes;
}
FILE* exitFile = fopen("minesweeper.out","w");
fprintf(exitFile,"%.6f",medie/501);
fclose(exitFile);
//end = clock();
//printf("Timp executie : %.6f\n", (float) (end-start)/CLOCKS_PER_SEC);
//cout << "In " << pressTimes << " apasari " << endl;
//printf("Medie : %.6lf\n", medie/200);
return 0;
}