I just used careful process of elimination. There wasn't much in the way of long dead ends. The rest of this post is how I worked the problem, in invisible font.
[size=-7]Code:
P1 = A parent
p1-1 = the first same-gender child of that parent
p1-2 = the other same-gender child
P2 = The other parent
p2-1 = the first same gender child
p2-2 = the second same gender child
C1 = Police Officer
c1 = Criminal
Step one:
Neither parent can go across alone as that would lead the other parent to attack a child. If the parents go across together, they would have to return together to prevent an attack, which would lead to a useless ad infinitum. The only person capable of going across, then, is C1. Given that he cannot leave c1 with others, he must go across with c1.
Therefore, the first step is:
C1+c1 -->
Step two:
Given that he is the only one capable of operating the boat, C1 must return. Bringing the criminal back would undo the only possible progression, and thus is necessary. C1 must travel back alone.
Therefore, the second step is
<-- C1
Step three:
Given that c1 will attack anyone without the presence of C1, C1 must go. If either parent leaves, a child will be attacked. The problem with both parents leaving is the same as in step 1. C1 must leave with p1-1
Therefore, the third step is:
C1+p1-1 -->
Step 4:
As with Step 2, C1 is the only boat operator. Leaving p1-1 and c1 together is not possible, so the cop must go back with one of them. going with p1-1 would undo the last step, so he must return with c1.
Therefore, the fourth step is:
<-- C1+c1
Step 5:
If the cop were to leave, he would have to leave with the criminal, which would undo the last step. The parents still cannot leave together. As a result, one parent must leave. To prevent "child abuse," P1 must leave with p1-2.
Therefore, the fifth step is:
P1+p1-2 -->
Step 6:
The parent must return as only he can operate the boat. If the parent leaves with either child, he will negate the last step. He must proceed back alone.
Therefore, the sixth step is:
<-- P1
Step 7:
If P1 leaves alone, it will negate the last step. If P2 goes with anyone except P1, child abuse will result. If C1 goes with anyone but c1, the criminal will harm someone. If C1 goes with c1, he would have to come back the same way, which is redundant. By process of elimination, P1 must go across with P2.
Therefore, the seventh step is:
P1+P2 -->
Step 8:
The parents leaving together would undo the last step. P1 going across without P2 would result in child abuse. P2 going across alone, however, would not.
Therefore, the eighth step is:
<-- P2
Step 9:
P2 going across alone would undo the last step. P2 going across with a child would require the step to then be undone or for both parents to return together. However, if both parents then returned together, the only possible step would be C1+c1 -->, which could only then be undone. P2 cannot cross. The only other boat operator is C1, who must cross with the criminal.
Therefore, the ninth step is:
C1+c1 -->
Step 10:
If C1 goes back, he must take the criminal, which would undo the last step. P1 must go across. While P1 could carry p1-2 back with him, the step would then have to be undone or the parents would cross together, at which point the parents would then have to cross back together again to prevent child abuse. The only possible solution here is for P1 to cross alone.
Therefore, the tenth step is:
<-- P1
Step 11:
If P1 one does not leave, P2 must, which would require at least one child remain, to be abused. P1 must leave. Leaving with a child of the opposite gender would be abusive, and leaving alone would undo the last step, so P1 must cross with P2.
Therefore, the eleventh step is:
P1+P2 -->
Step 12:
C1 returning would be redundant, P1 going without P2 would be abusive. P1 going with P2 would then require P1 and P2 to cross the river again to prevent abuse, which be redundant. P2, by process of elimination, must cross. Crossing with anyone other than P1 would result in abuse or criminal attacks, so P2 must cross alone.
Therefore, the twelfth step is:
<-- P2
Step 13:
P2 returning alone would be redundant, so P2 must cross with p2-1.
Therefore, the thirteenth step is:
P2+p2-1 -->
Step 14:
If P2 goes with p2-1, the last step would be undone. If P2 goes with P1, then they must return together to prevent abuse. If P2 goes without P2, abuse results. P2 cannot cross. If P1 goes with anyone except P2, abuse also results. Only C1 can return, and they must so do with the criminal to prevent harm.
Therefore, the fourteenth step is:
<-- C1+c1
Step 15:
C1, being the only boat operator on the same side of the river, must cross. Crossing alone results in harm. Crossing with the criminal is redundant, so C1 must cross with p2-2.
Therefore, the fifteenth step is:
C1+p2-2 -->
Step 16:
If either parent goes across, child abuse results, unless P1 and P2 go together, resulting in a criminal attack. C1 must cross, and without P1 or P2. Taking a child would essentially negate the last step, so C1 must go alone.
Therefore, the sixteenth step is:
<-- C1
Step 17:
C1 going alone would negate the last step, so he must cross with c1.
Therefore, the seventeenth and last step is:
C1+c1 -->
[/size]