商人过河问题数学建模

商人过河问题:3名商人各带一名随从过河,一只小船只能容纳2个人,随从们约定,只要在河的任何一岸,一旦随从人数多于商人人数就杀人越货,但是商人们知道了他们的约定,并且如何过河的大权掌握在商人们手中,商人们该采取怎样的策略才能安全过河并且渡河次数最少呢??
能帮我把下面的代码打一下注释吗?没有注释看不太懂,感谢!
a=[0,0
0,1
0,2
0,3
3,0
3,1
3,2
3,3
1,1
2,2];
d=[0,2
2,0
1,1
0,1
1,0];
s=zeros(14,2);
c=zeros(14,2);
b=zeros(14,2);

jk=[3 3];
s(1,:)=[3 3];
s(2,:)=[3 3];
for i=2:13
for j=1:5
s(i+1,:)=s(i,:)+(-1)^(i-1).*d(j,:);
t=0;
for k=1:10
if s(i+1,:)==a(k,:)
t=1;
end
end
if t~=0
l=mod(i+1,2);m=l;u=0;
if (i+1)>=4
for m=(l+2):2:i-1
jz1=s((i+1),:);
jzs=s(m,:);
if s(i+1,:)==s(m,:)
u=1;
break;
end
end
end
if u==0
c(i+1,:)=d(j,:);
break;
end
end
end
if t==0
break;
end
b(i+1,:)=[3 3]-s(i+1,:);
if s(i+1,:)==[0 0];
break;
end
end
fprintf('\n\n\t此岸-船上-对岸\n');
for i=2:12
fprintf('\t{%.0g,%.0g}-{%.0g,%.0g}-{%.0g,%.0g}\n',s(i,1),s(i,2),c(i+1,1),c(i+1,2),b(i+1,1),b(i+1,2));

end