I'm not sure from where your design and routing table come from.
Anyway in an environment like yours, the routes to the remote networks are usually defined through routing protocols (ie. dynamic routing); the use of static routes (defined by the user/admin), with all the redundant paths you have, will cause routing loops or black holes eventually.
In other words, every subnet of your diagram can be reached through every interface of R8 actually, depending by the configuration of the other routers.
For instance: if you define the interface 1 of R8 as the next hop for 14.0.0.0 (meaning that packets destined to any IP of the 14.0.0.0/? subnet will be sent out the interface 1), and if R4 (the actual next-hop out of interface 1 of R8) has another static to 14.0.0.0 through R1, your packet will cross R8->R4->R1->Destination. On the other side, if in this example you still send your packet for 14.0.0.0 to R4, but R4 is configured with a different static for 14.0.0.0 that points to R8, you will have a routing loop and your packet will bounce between R8 and R4 until its TTL will expire.
The same theory is applicable to any other remote network like 12.0.0.0, where it is less obvious if R8 should forward its packet to R2 or R4.
The main thing to remember is that IP packets don't have memory, they're just forwarded by evaluating their destination (ie. routers don't take care about the interface from where the packet was received - unless you use things like source-routing but it's not the case here).
The table you posted doesn't show if static or dynamic routing is used (it misses also the subnet of those networks), but unless this is a particular theoretic exercise, dynamic routing is what you need.
Dynamic routing can define the best path from a router to a destination network, by using different parameters like number of hop, bandwidth, latency, and so (depending by the specific dynamic routing protocol). Also, they can manage failures of redundant links properly.
As another example, if you decide to put a static for 12.0.0.0 pointing to R3 and R3 router crashes, you will continue to forward packets destined to 12.0.0.5 (for instance) to a black hole.
If you decide to load balance to 12.0.0.0 with 2 routes (with same metric) through R3 and R4, if R4 goes down (or one of its interfaces is broken), R8 will continue to forward the packet 1 to R3, the packet 2 to R4, the packet 3 to R3, and so on. This will cause apparently random things, because if the packets use TCP, the missed ones will be retransmitted, making less obvious that half of your traffic is trashed (eg. intermittent loss of line of some services, slowness, etc.).
If you're using Linux, Quagga can be the software to use for dynamic routing, but the assumption is that other routers are running a dynamic routing protocol.
However, if your goal is to set a static route, these commands should work (I'm assuming /24 but if classful it might be a /8):
ip route add 14.0.0.0/24 dev eth3
same of:
ip route add 14.0.0.0/24 via 13.0.0.2
Anyway the second one is usually preferred in a multiaccess network (no multicast/broadcast traffic needed, no tons of ARP requests, etc.).