Here’s a link to my solution : http://www.codechef.com/viewsolution/5440351
I don’t understand where i am going wrong …is it the double or some other precision thing i am missing ??
I’m not a C/C++ guru, but what is ans.a[i][j]=double(i==j);
doing?
See my test case on ideone - http://ideone.com/pgtqzj
actually u are not giving a valid input …
the condition clearly states Sum of ai,1+…ai,n = 1
but the sum of all probabilities in the first row of your testcase is 3.
ans.a[i][j]=double(i==j); is for making an identity matrix.
1 Like
Ok I thought so (double(i==j)
), hopefully it’s better now, those two ones was an error… Still printing 0.75, I’d expect 0.25, hopefully input is ok now…
But why 0.25 : two cases arise here:
- a -> a -> a =0.5 x 0.5 = 0.25
- a->b->a =0.5 x 1=0.5
total 0.75…right??
1 Like
Of course, my bad, I’ll get back with better test case