I read that deterministic grammar helps in preventing backtracking.
Consider a grammar
$$A \rightarrow ab \mid ac \mid ad$$.
Here if input is "ad" then the compiler needs to check each of ab, ac .. and backtrack until it gets to last production.
To eliminate non determinism we modify the grammar as
$$A \rightarrow aB$$ $$B\rightarrow b\mid c\mid d$$
I don't understand how will this modified grammar prevent backtracking . If we again give the same input "ad" then in B production , it will again back track for b and c until it reaches d.
So how does left factoring actually solve this problem ?