Checkmate (aka the urinal problem)
Oasis, 5 bytes
Code
cd+2V
Extended version
cd+211
Explanation
1 = a(0)
1 = a(1)
2 = a(2)
a(n) = cd+
c # Calculate a(n - 2)
d # Calculate a(n - 3)
+ # Add them up
Try it online!
Java 7, 65 42 bytes
int g(int u){return u>1?g(u-2)+g(u-3):1;}
The sequence just adds previous elements to get new ones. Hat tip to orlp and Rod for this shorter method ;)
Old:
int f(int u){return u<6?new int[]{1,1,2,2,3,4}[u]:f(u-1)+f(u-5);}
After the fifth element, the gap in the sequence rises by the element five previous.
Python 2, 42 40 39 35 bytes
f=lambda n:n>1and f(n-2)+f(n-3)or 1
Generating the actual sets:
lambda n:["{:0{}b}".format(i,n).replace("0","-").replace("1","X")for i in range(2**n)if"11"not in"{:0{}b}".format(i*2,2+n).replace("000","11")]