请大家帮忙看到 “程序补充题”

DeltaCat 2003-10-16 11:21:56
A B 两个城市之间设有N个路站(如下图的S1,且N<100),城市与路站之间。路站与路站之间各有若干条路段(各路段<20)且每条路段上的距离均为一个整数)
AB的一条通路是指:从A出发,可经过任一路段到达S1,再从S1出发经过任一路段,。。。最后到达B。通路上路段距离之和称为通路距离(最大距离《1000)
当所有路段距离给出之后,求所有不同距离的通路个数(相同距离仅记一次)。

算法说明:本题采用穷举算法
数据结构:N:记录A,B间路站的个数;
数组D[I,0]记录第I-1到第I路站间路段的个数;
D[I,1],D[I,2],。。。记录每个路段距离;
数组G记录可取到的距离
程序清单
Program chu7_6(input,output);
var i,j,n,s:integer;
b:array[0..100] of integer;
d:array[0..100,0..20] of integer;
g:array[0..1000] of 0..1
begin
readln(n)
for i:=1 to n+1 do
begin
readln(d[I,0]);
for j:=1 to d[I,0] do readln(d[I,j])
end;
d[0,0]:=1;
for i:=1 to n+1 do b[i]=1;
b[0]:=0;
for i :=1 to 1000 do g[i]:=0;
while "B[0]=0" do
begin
s:=0;
for i:=1 to n+1 do
s:="S+D[I,B[I]]"
g[s]:=1;j:=n+1;
while "B[J]=D[J,0]" do j:=j-1;
b[j]:=b[j]+1;
for i:=j+1 to n+1 do b[i]:=1
end;
s:=0;
for i:=1 to 1000 do
s:=s+G[I];
writeln(s);readln
end


上面加引号的部分为补充内容,请高手给讲解一下为什么,谢谢!
...全文
73 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
966126 2003-10-21
  • 打赏
  • 举报
回复
最佳路径选择,在学网络基础和离散数学的时候用手工计算过,没写过程序
sixgj 2003-10-17
  • 打赏
  • 举报
回复
看昏了。不看了。

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧