Tiling the unit square
Haskell, 263 262 bytes

import Data.Ratio;f m=let{(#)n z|n&gt;m=[[]]|True=[a:y|(a,j)&lt;-[((o,x,y),[c|c&lt;-(u&amp;w,h-v,x,g):(w-u,h&amp;v,a,y):z,c/=b])|b@(w,h,x,y)&lt;-z,(o,u,v)&lt;-[(o,1%(n+1-o),1%(n+o))|o&lt;-[0,1]],(a,g)&lt;-[(x+u,y+v)|u&lt;=w,v&lt;=h],let(&amp;)p q|w&gt;h=p|True=q],y&lt;-(n+1)#j]}in(1#[(1%1,1%1,0%1,0%1)])!!0


This follows the algorithm described in Paulhus 1997, An Algorithm for Packing Squares, doi:10.1006/jcta.1997.2836. The key observation in the paper, which is empirically if not theoretically verified, is that the region left over after placing a rectangle in a box can be split into two sub-boxes whose filling can then in turn be regarded as independent.

Rather than finding the smallest width sub-box to fit the next rectangle into, the code performs a search across all possible sub-boxes; in practice this does not make an appreciable slow down for n&lt;100.

Output is in the form of a list of entries as tuples with the fraction marker % still included. The integers in the formatted output are in the desired order, but strictly speaking some post-processing would be required to produce the list of integers alone.

Sample run:

*Main&gt; f 5
(0,0 % 1,0 % 1),(0,1 % 2,0 % 1),(0,1 % 2,1 % 2),(0,3 % 4,1 % 2),(1,1 % 2,5 % 6)

Edit: removed an errant space after a let.