How to avoid objects intersecting eachother
To summarize all this chat into a single answer:

Crate the tile pieces you need:



Add an array modifier and make the relative offset a bit smaller than the size of the tiles, so they overlap (I used 0.8 in this example) Use the "end tiles" as Start Cap:





Using the selected object press Shift S and select "Cursor to Selected" so that the cursor goes to the origin of your object.

Add a curve.

IT IS IMPORTANT THAT THE OBJECT AND THE CURVE HAVE THEIR ORIGIN IN THE SAME PLACE 

Edit the curve to the shape you need.



Add a curve modifier after the array modifier, and select your curve as object and choose the deformation axis you want to use (in this example it follows the X axis).





The tiles array should bend now following the curve like this:

By alternating different arrays you get an idea of what the rooftop might look like.



By changing the count number on the array you should be able to follow the overall structure of the pagoda.

Getting the right number of tiles to fill the shape might take some trial and error. You might need to go back and re-shape the length original tiles to fit an exact count you need to fill the rooftop. 



The edges of the tiles you can just hide on the overall structure of the roof. Like in the photo on this link.

or this image:



But for those purists who don't like shortcuts. You can do a bit of extra work and prepare a tile that is cut in an angle that follows the shape of the rooftop.