Cycles Node Editor: Double Diffuse problem
I think you are going about what you are trying to accomplish the wrong way.  The way multiple different materials are usually combined is by using a mask.  A mask is basically a black and white map where black areas correspond to one material and white areas correspond to another material.

To set this up in the node editor just use a mix shader and plug the mask into the fac input.  This will make lighter areas of the mask give the output shader more of the second input and darker areas give more of the first input.


Note: make sure you set the image texture node for the mask to non-color data.

Here is a rendered visualization of just the mask plugged into a diffuse shader across a piece of randomly generated terrain:


And here is a render with the same mask only in the above node setup:


So for your case you will have to now go and create a mask which defines where each material should be.  To combine more than 2 materials just create multiple masks and use multiple mix shaders in succession.