>>870のパズルに影響されて「川渡りパズル」を作ってみました。
でも1行オーバー。俺の力では7行は無理ぽorz

<body><script>T=["豚飼","羊飼","猟師","豚","豚","羊","羊","狼",""];P=[1,1,1,1,1
,1,1,1,1];E=2;R=1;Q=0;M="";function H(M,N){return P[M]*P[N]<0}function F(N){if(
N==8){if(Q){R=R==1?-1:1;E=2;Q=0;for(i=0;i<8;i++)if(!P[i])P[i]=R;if((H(0,1)&!(H(
0,5)&H(0,6)&H(1,3)&H(1,4)))|(H(2,7)&!(H(7,0)&H(7,1)&H(7,3)&H(7,4)&H(7,5)&H(7,6)
)))M="NG"}}else if(P[N]==R&&E>0){if(N<3)Q++;P[N]=0;E--}else if(!P[N]){if(N<3)
Q--;P[N]=R;E++}P[8]=R;S()}function S(){T[8]=R==1?"<":">";G="";for(i=0;i<9;i++
)G+="<p align="+(P[i]<0?"left":P[i]?"right":"center")+" onClick='F("+i+")'>"+T[
i]+"</p>";document.body.innerHTML=G+M}S()</script><body>

IE6で動作確認