永发信息网

售货员的难题 free pascal

答案:1  悬赏:0  手机版
解决时间 2021-08-14 07:45

Description

某乡有n个村庄(1< n< 40),有一个售货员,他要到各个村庄去售货,各村庄之间的路程s(0< s< 1000)是已知的,且A村到B村与B村到A
村的路大多不同。为了提高效率,他从商店出发到每个村庄一次,然后返回商店所在的村,假设商店所在的村庄为1,他不知道选择什么
样的路线才能使所走的路程最短。请你帮他选择一条最短的路。

Input

村庄数n和各村之间的路程(均是整数)。

Output

最短的路程。

Sample Input

3 {村庄数}

0 2 1 {村庄1到各村的路程}

1 0 2 {村庄2到各村的路程}

2 1 0 {村庄3到各村的路程}

Sample Output

3

Source

搜索

限时2000MS

请问我为什么老是超时,请高手帮忙修改(请注意是修改,不是答案!!)

 

var sz:array [1..40,1..40] of longint;
    flag:array [1..40] of longint;
    n,i,j,min,m:longint;
procedure work(c,i:longint);
var j:longint;
begin
  if c=n
  then begin if m+sz[i,1]<min then min:=m+sz[i,1]; end
  else
   begin
     {for j:=2 to n do
       if (flag[j]=0) and ((m+sz[i,j])<=min)
       then
          begin
            flag[j]:=1;
            m:=m+sz[i,j];
            work(c+1,j);
            flag[j]:=0;
            m:=m-sz[i,j];
          end;}
  for j:=2 to n do
   if (i<>j) and (flag[j]=0) then
     begin
      m:=m+sz[i,j];
      flag[j]:=1;
      if m<min then work(c+1,j);
      m:=m-sz[i,j];
      flag[j]:=0;
     end;
   end;
end;
begin
   assign(input,'saleman.in');
   assign(output,'saleman.out');
   reset(input);
   rewrite(output);

  readln(n);
  for i:=1 to n do
     begin
        for j:=1 to n do read(sz[i,j]);
        readln;
     end;
  min:=999999;
  for i:=2 to n do
    begin
      flag[i]:=1;
      m:=sz[1,i];
      work(2,i);
      flag[i]:=0;
    end;
  writeln(min);

   close(input);
   close(output);
end.

最佳答案
不输出那块改成函数然后调用应该会不超了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
小狗跑步甲乙两人同时从两地出发,相向而行,距
浉河区信阳王家热干面(生产路店)在什么地方啊
八字搞笑口号霸气押韵,团队口号霸气的八字
明天常州到金湖的班车几点
红山文化是什么
put forward 等于啥短语
为什么要看电视剧,为什么看电视剧就什么都不
白金之心买下多少钱
CS怎么单脚小跳
永定区张家界铁青旅游电脑直售火车票地址有谁
南极洲有人吗,北极有北极熊,南极为什么没有
解决内存不能为read的软件
数学题负根号2加1,加绝对值的
关于炫舞DDOS
团结团队口号大全集,有谁能帮我,团队精神,
推荐资讯
怎么去日本留学?
武昌区武汉江宏集团有限公司工会地址在什么地
我是做资料的,想去读大专,但是不知道读什么
“教室里有一百零一人”用英语怎么说?数词请
什么样的人才叫做兄弟
怎样用计算器求反函数
陈小春鹿鼎记MKV版下载地址
爱情理解与包容的句子,关于爱情的、感人的句
23岁了还能整牙吗虎牙阿好整啊大概要多少钱啊
开150M现在怎么开
仙境传说中不死之汤价格
岳阳县岳阳如家酒店怎么去啊,谁知道地址啊
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?