I am not sure if you tried this already, but can you group your if statements into meaningful functions?could prevent code duplication, and sometimes for small stuff it's better then Polymorphism.
for example if you have:
Girl shirly;
Girl ruth;
if(shirly.pretty && shirly.smart && (!shirly.married)){
...
}
if(ruth.pretty && ruth.smart && (!ruth.married)){
...
}
//a better way will be
if(doILove(shirly)){
...
}
if(doILove(ruth)){
...
}
//or in case of a more general statment
if(doLoveCondition(shirly.pretty,shirly.smart,!shirly.married){
...
}
if(doLoveCondition(ruth.pretty,ruth.smart,!ruth.married){
...
}
if you would have posted the code, it would have been easier to find a specific solution.