Cod sursa(job #637198)

Utilizator dicu_dariaDaria Dicu dicu_daria Data 20 noiembrie 2011 12:53:39
Problema Minesweeper Scor 0
Compilator cpp Status done
Runda .com 2011 Marime 0.72 kb
#include <fstream>
#include <ctime>
#include <cstring>
#include <cstdlib>
using namespace std;
int t,total,x,y,i,n,a[30];
long double s;
int main()
{
    ifstream fi("minesweeper.in");
    ofstream fo("minesweeper.out");
    srand(time(NULL));
    fi>>x>>y;
    n=x*y;
    for(i=1;i<=n;i++)
    {
    t=0;
    memset(a,0,sizeof(a));
    total=0;
    while(1)
    {
        t++;
        x=(rand()%(2*n-1))/2;
        x++;
        a[x]=(a[x]+1)%3;
        if(a[x]==0) total--; else
        if(a[x]==2) total++;
        if(total==n) break;

    }
    s+=t;
    }
    long long trei;
    for(trei=1,i=1;i<=n;i++) trei*=3;
    s+=trei;
    s=(double)s/(double)(n+1);
    fo<<s<<"\n";
    return 0;
}