#include #define D 100 #define eps 1.0E-30 int main(){ int filled[D][D]; double inflow[D][D],cont[D][D]; int R,C,a,b,brar,brac; double min,time; printf("Rad ? "); scanf("%d", &R); printf("Glas ? "); scanf("%d", &C); R--; C--; for(a=0;a<=R;a++) for(b=0;b<=a;b++) { filled[a][b]=0; cont[a][b]=0.0; inflow[a][b]=0.0; } inflow[0][0]=0.1; time=0.0; while(!filled[R][C]){ min=1.0E30; for(a=0;a<=R;a++) for(b=0;b<=a;b++) { if((inflow[a][b]>eps) && (!filled[a][b]) && ((1.0-cont[a][b])/inflow[a][b]0) inflow[a][b]=(((b==0) || (!filled[a-1][b-1]))?0.0:inflow[a-1][b-1]/2.0) + (((b==a) || (!filled[a-1][b]))?0.0:inflow[a-1][b]/2.0); } } printf("Det tar %.3lf sekunder.\n", time); return 0; }