商人が川を渡るMatlabプログラムの実現
2707 ワード
これは私が本科の时、つまり08年8月の数学のモデリングコンテストの前に编集して最适化した后の“商人が川を渡る”プログラムで、実用性は大きくなくて、しかしモデリング思想の育成に対してやはりとても重要で、すでに多くの転帖があって、しかし最近何気なく1篇のそっくりなバージョンを発见して、出典を明らかにしていないで、私はとても无言です!
実は、1つのオープンソースコミュニティの確固たる支持者として、他の人の労働成果を尊重するのが最も基本的な原則で、ここで私は再びこのプログラムを編集して説明したいです:オープンソースは互いに尊重するためますますすばらしいです!
原文発表先:http://hi.baidu.com/gujinjin2008/item/63f05d8775199eddd0f8cd35
その後改善された汎用検索プログラム:http://hi.baidu.com/gujinjin2008/item/6cb5e4d92a44e03d49e1dd31
これは私が本科の时、つまり08年8月の数学のモデリングコンテストの前に编集して最适化した后の“商人が川を渡る”プログラムで、実用性は大きくなくて、しかしモデリング思想の育成に対してやはりとても重要で、すでに多くの転帖があって、しかし最近何気なく1篇のそっくりなバージョンを発见して、出典を明らかにしていないで、私はとても无言です!
実は、1つのオープンソースコミュニティの確固たる支持者として、他の人の労働成果を尊重するのが最も基本的な原則で、ここで私は再びこのプログラムを編集して説明したいです:オープンソースは互いに尊重するためますますすばらしいです!
原文発表先:http://hi.baidu.com/gujinjin2008/item/63f05d8775199eddd0f8cd35
その後改善された汎用検索プログラム:http://hi.baidu.com/gujinjin2008/item/6cb5e4d92a44e03d49e1dd31
clear all % 080817
clc % n ,m ,h
n=3;m=3;h=2; %
m0=0;n0=0;
tic
LS=0; % S LS
LD=0; % D LD
for i=0:n
for j=0:m
if i>=j&n-i>=m-j|i==n|i==0
LS=LS+1;S(LS,:)=[i j];
end
if i+j>0&i+j<=h&(i>=j|i==0)
LD=LD+1;D(LD,:)=[i j];
end
end
end
%
%------------------------------------------------------
N=15;
Q1=inf*ones(2*N,2*N);
Q2=inf*ones(2*N,2*N);
t=1;
le=1;
q=[m n];
f0=0; %
while f0~=1&t1 %
f1=0;
for ii=1:k-1
if s1==sa(ii,:)
f1=1;
break
end
end
end %……
if f1==0
sa(k,:)=s1;
sb(k,:)=D(i,:);
k=k+1;
break
end
end
end %…………………
end %………………………………
end %……………………………………………
q=sa;
le=size(q,1);
Q1(1:le,t*2-1:t*2)=q;
Q2(1:le,t*2-1:t*2)=sb;
t=t+1;
end
%------------------------------------------------------
%
%------------------------------------------------------
tr=t-1;saa1=sa;
SA=zeros(tr,2);SB=zeros(tr,2);
for k=tr:-1:2
k1=k-1;f0=0;
sbb=Q2(:,k*2-1:k*2);
saa=Q1(:,k1*2-1:k1*2);
for i=1:2*N
saa2=saa1-(-1)^k*sbb(i,:);
for j=1:2*N
if saa2==saa(j,:)
saa1=saa2;
sbb1=sbb(i,:);
f0=1;
break
end
end
if f0==1
break
end
end
SA(k1,:)=saa1;
SB(k,:)=sbb1;
end
SA(tr,:)=[m0 n0];
SB(1,:)=[m,n]-SA(1,:);
%------------------------------------------------------
disp ' :'
X0=[m,n]
disp ' :'
SA
disp ' :'
SB
toc