fork(1) download
  1. b=lambda:raw_input().split()
  2. n=input()
  3. d=range(n)
  4. k=[[int(h)for h in b()]for _ in d]
  5. h=[a for a in zip(*k)]
  6. x,y,z=(float(c)for c in b())
  7. e=input()
  8. for e,f,g in[[float(c)for c in b()]for _ in range(e)]:
  9. p=1
  10. for i in d:
  11. for j in d:
  12. u=e-x;v=f-y;w=g-z
  13. if v:
  14. r=x+u/v*(j+1-y);p*=1-(r>i)*(r<i+1)*(z+w/v*(j+1-y)<max(h[i][j:j+2]))
  15. if u:
  16. s=y+v/u*(i+1-x);p*=1-(s>j)*(s<j+1)*(z+w/u*(i+1-x)<max(k[j][i:i+2]))
  17. print p-.5
Success #stdin #stdout 0.01s 7900KB
stdin
5
0 0 0 0 0
0 0 0 0 0
0 0 4 0 0
0 0 0 0 0
0 0 0 0 0
0.6 0.5 0.5
1
4.5 4.5 0.5
stdout
-0.5