﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-数据结构与算法</title><link>http://www.cnitblog.com/kkxxlq/</link><description /><language>zh-cn</language><lastBuildDate>Mon, 04 May 2026 19:27:13 GMT</lastBuildDate><pubDate>Mon, 04 May 2026 19:27:13 GMT</pubDate><ttl>60</ttl><item><title>循环队列报数出队</title><link>http://www.cnitblog.com/kkxxlq/archive/2005/08/19/2195.html</link><dc:creator>李青</dc:creator><author>李青</author><pubDate>Fri, 19 Aug 2005 07:30:00 GMT</pubDate><guid>http://www.cnitblog.com/kkxxlq/archive/2005/08/19/2195.html</guid><wfw:comment>http://www.cnitblog.com/kkxxlq/comments/2195.html</wfw:comment><comments>http://www.cnitblog.com/kkxxlq/archive/2005/08/19/2195.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/kkxxlq/comments/commentRss/2195.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/kkxxlq/services/trackbacks/2195.html</trackback:ping><description><![CDATA[<P>program ljkkk;<BR>type<BR>&nbsp;linktype=^node;<BR>&nbsp;node=record<BR>&nbsp;&nbsp; num:integer;<BR>&nbsp;&nbsp; link:linktype;<BR>&nbsp; end;<BR>var<BR>&nbsp;n,m:integer;<BR>&nbsp;i,j:integer;<BR>&nbsp;root,pre:linktype;<BR>&nbsp;p,q:linktype;<BR>begin<BR>&nbsp;readln(n,m);<BR>&nbsp;root^.num:=1;<BR>&nbsp;root^.link:=nil;<BR>&nbsp;p:=root;<BR>&nbsp;for i:=2 to n do<BR>&nbsp;begin<BR>&nbsp; new(q);<BR>&nbsp; q^.num:=i;<BR>&nbsp; p^.link:=q;<BR>&nbsp; p:=q;<BR>&nbsp;end;<BR>&nbsp; pre:=p;<BR>&nbsp; p^.link:=root;<BR>&nbsp;p:=root;<BR>&nbsp;j:=1;<BR>&nbsp;while (p^.link&lt;&gt;p) do<BR>&nbsp;begin<BR>&nbsp; if (j=m)&nbsp; then<BR>&nbsp; begin<BR>&nbsp;&nbsp; pre^.link:=p^.link;<BR>&nbsp;&nbsp; writeln(p^.num);<BR>&nbsp;&nbsp; dispose(p);<BR>&nbsp;&nbsp; p:=pre^.link;<BR>&nbsp;&nbsp; j:=1;<BR>&nbsp; end<BR>&nbsp; else<BR>&nbsp; begin<BR>&nbsp;&nbsp; pre:=p;<BR>&nbsp;&nbsp; p:=p^.link;<BR>&nbsp;&nbsp; j:=j+1;<BR>&nbsp; end;<BR>&nbsp;end;<BR>&nbsp;writeln(p^.num);<BR>end.</P>
<P>&nbsp;</P>
<P><BR>&nbsp;</P><img src ="http://www.cnitblog.com/kkxxlq/aggbug/2195.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/kkxxlq/" target="_blank">李青</a> 2005-08-19 15:30 <a href="http://www.cnitblog.com/kkxxlq/archive/2005/08/19/2195.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>指针+二叉数 排列字符串的顺序</title><link>http://www.cnitblog.com/kkxxlq/archive/2005/08/19/2192.html</link><dc:creator>李青</dc:creator><author>李青</author><pubDate>Fri, 19 Aug 2005 06:36:00 GMT</pubDate><guid>http://www.cnitblog.com/kkxxlq/archive/2005/08/19/2192.html</guid><wfw:comment>http://www.cnitblog.com/kkxxlq/comments/2192.html</wfw:comment><comments>http://www.cnitblog.com/kkxxlq/archive/2005/08/19/2192.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/kkxxlq/comments/commentRss/2192.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/kkxxlq/services/trackbacks/2192.html</trackback:ping><description><![CDATA[program asdkj;<BR>type<BR>&nbsp;tree=^treetype;<BR>&nbsp;treetype=record<BR>&nbsp;&nbsp;&nbsp; wd:string;<BR>&nbsp;&nbsp;&nbsp; tm:integer;<BR>&nbsp;&nbsp;&nbsp; lt,rt:tree;<BR>&nbsp;&nbsp;&nbsp; end;<BR>&nbsp;link=^linktype;<BR>&nbsp;linktype=record<BR>&nbsp;&nbsp;&nbsp;&nbsp; wd:string;<BR>&nbsp;&nbsp;&nbsp;&nbsp; tm:integer;<BR>&nbsp;&nbsp;&nbsp;&nbsp; next:link;<BR>&nbsp;&nbsp;&nbsp;&nbsp; end;<BR>const<BR>&nbsp; letter=['a'..'z','A'..'Z'];<BR>var<BR>&nbsp;head:link;<BR>&nbsp;root:tree;<BR>&nbsp;n,st:string;<BR>procedure&nbsp; readword;<BR>var<BR>&nbsp;q,p:link;<BR>&nbsp;w:string;<BR>begin<BR>&nbsp;head:=nil;<BR>&nbsp;repeat<BR>&nbsp;&nbsp; readln(w);<BR>&nbsp;&nbsp; if (w&lt;&gt;'') then<BR>&nbsp;&nbsp; begin<BR>&nbsp;&nbsp;&nbsp; p:=head;<BR>&nbsp;&nbsp;&nbsp; while (p&lt;&gt;nil) and (p^.wd&lt;&gt;w) do<BR>&nbsp;&nbsp;&nbsp;&nbsp; p:=p^.next;<BR>&nbsp;&nbsp;&nbsp; if p=nil then<BR>&nbsp;&nbsp;&nbsp; begin<BR>&nbsp;&nbsp;&nbsp;&nbsp; new(q);<BR>&nbsp;&nbsp;&nbsp;&nbsp; q^.wd:=w;<BR>&nbsp;&nbsp;&nbsp;&nbsp; q^.tm:=1;<BR>&nbsp;&nbsp;&nbsp;&nbsp; q^.next:=head;<BR>&nbsp;&nbsp;&nbsp;&nbsp; head:=q;<BR>&nbsp;&nbsp;&nbsp; end<BR>&nbsp;&nbsp;&nbsp; else<BR>&nbsp;&nbsp;&nbsp; inc(p^.tm);<BR>&nbsp;&nbsp;&nbsp; end;<BR>&nbsp; until (w='');<BR>end;<BR>procedure create;<BR>var<BR>&nbsp;p,r:tree;<BR>&nbsp;f:boolean;<BR>&nbsp;q:link;<BR>begin<BR>&nbsp; new(root);<BR>&nbsp; with root^ do<BR>&nbsp; begin<BR>&nbsp;&nbsp; wd:=head^.wd;<BR>&nbsp;&nbsp; tm:=head^.tm;<BR>&nbsp;&nbsp; lt:=nil;<BR>&nbsp;&nbsp; rt:=nil;<BR>&nbsp; end;<BR>&nbsp; q:=head^.next;<BR>&nbsp; while q&lt;&gt;nil do<BR>&nbsp; begin<BR>&nbsp;&nbsp; p:=root;<BR>&nbsp;&nbsp; new(r);<BR>&nbsp;&nbsp; r^.lt:=nil;<BR>&nbsp;&nbsp; r^.rt:=nil;<BR>&nbsp;&nbsp; r^.wd:=q^.wd;<BR>&nbsp;&nbsp; r^.tm:=q^.tm;<BR>&nbsp;&nbsp; f:=true;<BR>&nbsp;&nbsp;&nbsp; while f do<BR>&nbsp;&nbsp;&nbsp; begin<BR>&nbsp;&nbsp;&nbsp;&nbsp; if (q^.wd&lt;p^.wd) then<BR>&nbsp;&nbsp;&nbsp;&nbsp; if (p^.lt&lt;&gt;nil)&nbsp; then p:=p^.lt<BR>&nbsp;&nbsp;&nbsp;&nbsp; else&nbsp;&nbsp; begin<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p^.lt:=r;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f:=false;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<BR>&nbsp;&nbsp;&nbsp;&nbsp; else<BR>&nbsp;&nbsp;&nbsp;&nbsp; if (p^.rt&lt;&gt;nil) then p:=p^.rt<BR>&nbsp;&nbsp;&nbsp;&nbsp; else&nbsp; begin<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p^.rt:=r;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f:=false;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;<BR>&nbsp;&nbsp;&nbsp; end;<BR>&nbsp;&nbsp;&nbsp; q:=q^.next;<BR>&nbsp; end;<BR>end;<BR>procedure pr_tree(p:tree);<BR>begin<BR>&nbsp;if p^.lt&lt;&gt;nil then pr_tree(p^.lt);<BR>&nbsp;write(p^.wd:20,p^.tm:5);<BR>&nbsp;if p^.rt&lt;&gt;nil then pr_tree(p^.rt);<BR>end;<BR>begin<BR>&nbsp;readword;<BR>&nbsp;create;<BR>&nbsp;pr_tree(root);<BR>end.<BR><img src ="http://www.cnitblog.com/kkxxlq/aggbug/2192.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/kkxxlq/" target="_blank">李青</a> 2005-08-19 14:36 <a href="http://www.cnitblog.com/kkxxlq/archive/2005/08/19/2192.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用指针做多项式相加</title><link>http://www.cnitblog.com/kkxxlq/archive/2005/08/19/2187.html</link><dc:creator>李青</dc:creator><author>李青</author><pubDate>Thu, 18 Aug 2005 23:52:00 GMT</pubDate><guid>http://www.cnitblog.com/kkxxlq/archive/2005/08/19/2187.html</guid><wfw:comment>http://www.cnitblog.com/kkxxlq/comments/2187.html</wfw:comment><comments>http://www.cnitblog.com/kkxxlq/archive/2005/08/19/2187.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/kkxxlq/comments/commentRss/2187.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/kkxxlq/services/trackbacks/2187.html</trackback:ping><description><![CDATA[program duoxiangshi;<BR>type<BR>&nbsp;link=^node;<BR>&nbsp;node=record<BR>&nbsp;&nbsp;&nbsp; coef&nbsp; :real;<BR>&nbsp;&nbsp;&nbsp; exp&nbsp;&nbsp; :integer;<BR>&nbsp;&nbsp;&nbsp; next&nbsp; :link;<BR>&nbsp;&nbsp; end;<BR>&nbsp;poly=link;<BR>var<BR>&nbsp;p,pa,pb:poly;<BR>procedure jl(var a:poly);<BR>var<BR>&nbsp; p,q&nbsp; :poly;<BR>&nbsp; co&nbsp;&nbsp; :real;<BR>&nbsp; ex&nbsp;&nbsp; :integer;<BR>begin<BR>&nbsp;p:=nil;<BR>&nbsp;repeat<BR>&nbsp; read(co,ex);<BR>&nbsp; new(q);<BR>&nbsp; q^.coef:=co;<BR>&nbsp; q^.exp:=ex;<BR>&nbsp; q^.next:=p;<BR>&nbsp; p:=q;<BR>&nbsp; until (ex=-1) and (co=-1);<BR>&nbsp; a:=p;<BR>&nbsp; readln;<BR>end;<BR>procedure add_poly(var a:poly; b:poly);<BR>var<BR>&nbsp;p,q,u,pre:poly;<BR>&nbsp;x:real;<BR>begin<BR>&nbsp;p:=a^.next;<BR>&nbsp;q:=b^.next;<BR>&nbsp;pre:=a;<BR>&nbsp;while (p&lt;&gt;nil) and (q&lt;&gt;nil) do<BR>&nbsp;if (p^.exp&gt;q^.exp)&nbsp; then<BR>&nbsp;begin<BR>&nbsp; pre:=p;<BR>&nbsp; p:=p^.next;<BR>&nbsp;end<BR>&nbsp;else<BR>&nbsp;if (p^.exp=q^.exp)&nbsp; then<BR>&nbsp;begin<BR>&nbsp; x:=p^.coef+q^.coef;<BR>&nbsp; if (x&lt;&gt;0) then<BR>&nbsp; begin<BR>&nbsp; p^.coef:=x;<BR>&nbsp; pre:=p;<BR>&nbsp; end<BR>&nbsp; else<BR>&nbsp; begin<BR>&nbsp;&nbsp;&nbsp; pre^.next:=p^.next;<BR>&nbsp;&nbsp;&nbsp; dispose(p);<BR>&nbsp; end;<BR>&nbsp; p:=pre^.next;<BR>&nbsp; u:=q;<BR>&nbsp; q:=q^.next;<BR>&nbsp; dispose(u);<BR>&nbsp;end<BR>&nbsp;else<BR>&nbsp;begin<BR>&nbsp;u:=q^.next;<BR>&nbsp;q^.next:=p;<BR>&nbsp;pre^.next:=q;<BR>&nbsp;pre:=q;<BR>&nbsp;q:=u;<BR>&nbsp;end;<BR>&nbsp;if (q&lt;&gt;nil) then<BR>&nbsp;pre^.next:=q;<BR>&nbsp;dispose(b);<BR>end;<BR>begin<BR>&nbsp;jl(pa);<BR>&nbsp;jl(pb);<BR>&nbsp;add_poly(pa,pb);<BR>&nbsp;p:=pa;<BR>&nbsp;p:=p^.next;<BR>&nbsp;while (p&lt;&gt;nil) do<BR>&nbsp; begin<BR>&nbsp;&nbsp; writeln(p^.coef:8:2,p^.exp:5);<BR>&nbsp;&nbsp; p:=p^.next;<BR>&nbsp; end;<BR>end.<BR><img src ="http://www.cnitblog.com/kkxxlq/aggbug/2187.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/kkxxlq/" target="_blank">李青</a> 2005-08-19 07:52 <a href="http://www.cnitblog.com/kkxxlq/archive/2005/08/19/2187.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>快排 qksort</title><link>http://www.cnitblog.com/kkxxlq/archive/2005/08/18/2186.html</link><dc:creator>李青</dc:creator><author>李青</author><pubDate>Thu, 18 Aug 2005 14:23:00 GMT</pubDate><guid>http://www.cnitblog.com/kkxxlq/archive/2005/08/18/2186.html</guid><wfw:comment>http://www.cnitblog.com/kkxxlq/comments/2186.html</wfw:comment><comments>http://www.cnitblog.com/kkxxlq/archive/2005/08/18/2186.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnitblog.com/kkxxlq/comments/commentRss/2186.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/kkxxlq/services/trackbacks/2186.html</trackback:ping><description><![CDATA[program p_1;<BR>const<BR>&nbsp;n=10;<BR>var<BR>&nbsp;s:array[1..n] of integer;<BR>&nbsp;m:integer;<BR>procedure sort(lx,rx:integer);<BR>var<BR>&nbsp;i,j,t:integer;<BR>begin<BR>&nbsp;i:=lx; j:=rx; t:=s[i];<BR>&nbsp;repeat<BR>&nbsp;&nbsp; while (s[j]&gt;t) and (i&lt;j) do&nbsp; j:=j-1;<BR>&nbsp;&nbsp; if (i&lt;j) then<BR>&nbsp;&nbsp; begin<BR>&nbsp;&nbsp;&nbsp; s[i]:=s[j];<BR>&nbsp;&nbsp;&nbsp; i:=i+1;<BR>&nbsp;&nbsp;&nbsp; while (s[i]&lt;t) and (i&lt;j) do i:=i+1;<BR>&nbsp;&nbsp;&nbsp; if (i&lt;j) then<BR>&nbsp;&nbsp;&nbsp; begin<BR>&nbsp;&nbsp;&nbsp;&nbsp; s[j]:=s[i];<BR>&nbsp;&nbsp;&nbsp;&nbsp; j:=j-1;<BR>&nbsp;&nbsp;&nbsp; end;<BR>&nbsp;&nbsp; end;<BR>&nbsp;&nbsp; until i=j;<BR>&nbsp;&nbsp; s[i]:=t; i:=i+1; j:=j-1;<BR>&nbsp;&nbsp; if (lx&lt;j) then sort(lx,j);<BR>&nbsp;&nbsp; if (i&lt;rx) then sort(i,rx);<BR>end;<BR>begin<BR>&nbsp;write('input data');<BR>&nbsp;for m:=1 to n do<BR>&nbsp; read(s[m]);<BR>&nbsp; sort(1,n);<BR>&nbsp;for m:=1 to n do<BR>&nbsp; write(s[m],' ');<BR>end.<img src ="http://www.cnitblog.com/kkxxlq/aggbug/2186.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/kkxxlq/" target="_blank">李青</a> 2005-08-18 22:23 <a href="http://www.cnitblog.com/kkxxlq/archive/2005/08/18/2186.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>最小生成树prim</title><link>http://www.cnitblog.com/kkxxlq/archive/2005/08/18/2180.html</link><dc:creator>李青</dc:creator><author>李青</author><pubDate>Thu, 18 Aug 2005 12:31:00 GMT</pubDate><guid>http://www.cnitblog.com/kkxxlq/archive/2005/08/18/2180.html</guid><wfw:comment>http://www.cnitblog.com/kkxxlq/comments/2180.html</wfw:comment><comments>http://www.cnitblog.com/kkxxlq/archive/2005/08/18/2180.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/kkxxlq/comments/commentRss/2180.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/kkxxlq/services/trackbacks/2180.html</trackback:ping><description><![CDATA[<P>输入边数与矩阵<BR>program agrinet;<BR>var<BR>&nbsp; n,i,j,minj:integer;<BR>&nbsp; mark:array[1..100] of boolean;<BR>&nbsp; map:array[1..100,1..100] of longint;<BR>&nbsp; dist:array[1..100] of longint;<BR>&nbsp; min,ans:longint;<BR>begin<BR>&nbsp; ans:=0;<BR>&nbsp; readln(n);<BR>&nbsp; for i:=1 to n do<BR>&nbsp;&nbsp;&nbsp; for j:=1 to n do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; read(map[i,j]);<BR>&nbsp; for i:=1 to n do dist[i]:=maxlongint;<BR>&nbsp; dist[1]:=0;<BR>&nbsp; mark[1]:=true;<BR>&nbsp; minj:=1;<BR>&nbsp; for i:=1 to n-1 do begin<BR>&nbsp;&nbsp;&nbsp; for j:=1 to n do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if dist[j]&gt;map[minj,j] then begin dist[j]:=map[minj,j];&nbsp; end;<BR>&nbsp;&nbsp;&nbsp; min:=maxlongint;<BR>&nbsp;&nbsp;&nbsp; for j:=1 to n do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (dist[j]&lt;min) and (not mark[j]) then begin<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; minj:=j;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; min:=dist[j];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;<BR>&nbsp;&nbsp;&nbsp; mark[minj]:=true;<BR>&nbsp;&nbsp;&nbsp; inc(ans,min);<BR>&nbsp; end;<BR>writeln(ans);<BR>end.</P>
<P>&nbsp;</P><img src ="http://www.cnitblog.com/kkxxlq/aggbug/2180.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/kkxxlq/" target="_blank">李青</a> 2005-08-18 20:31 <a href="http://www.cnitblog.com/kkxxlq/archive/2005/08/18/2180.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>dijkstra最短路径问题</title><link>http://www.cnitblog.com/kkxxlq/archive/2005/08/17/2146.html</link><dc:creator>李青</dc:creator><author>李青</author><pubDate>Wed, 17 Aug 2005 01:31:00 GMT</pubDate><guid>http://www.cnitblog.com/kkxxlq/archive/2005/08/17/2146.html</guid><wfw:comment>http://www.cnitblog.com/kkxxlq/comments/2146.html</wfw:comment><comments>http://www.cnitblog.com/kkxxlq/archive/2005/08/17/2146.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/kkxxlq/comments/commentRss/2146.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/kkxxlq/services/trackbacks/2146.html</trackback:ping><description><![CDATA[<P><FONT style="BACKGROUND-COLOR: #000000" color=#ffffff>用文件输入输出<BR>input: n,k<BR>&nbsp;&nbsp;&nbsp;&nbsp; 输入一个矩阵表示边的信息<BR>output: n个数，表示k到各个点的最短路<BR></FONT></P>
<P>program dijkstra;<BR>const<BR>&nbsp;inp =&nbsp; 'input.txt';<BR>&nbsp;oup =&nbsp; 'output.txt';<BR>&nbsp;maxn=&nbsp;&nbsp; 100;<BR>var<BR>&nbsp;ga&nbsp;&nbsp; :&nbsp;&nbsp;&nbsp; array[1..maxn,1..maxn] of integer;<BR>&nbsp;dist :&nbsp;&nbsp;&nbsp; array[1..maxn]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; of integer;<BR>&nbsp;s&nbsp;&nbsp;&nbsp; :&nbsp;&nbsp;&nbsp; array[1..maxn]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; of&nbsp;&nbsp;&nbsp; 0..1;<BR>&nbsp;n,k&nbsp; :&nbsp;&nbsp;&nbsp; integer;<BR>&nbsp;fp&nbsp;&nbsp; :&nbsp;&nbsp;&nbsp; text;<BR>procedure init;<BR>var<BR>&nbsp;i,j: integer;<BR>begin<BR>&nbsp;assign(fp,inp);&nbsp; reset(fp);<BR>&nbsp;readln(fp,n,k);<BR>&nbsp;for i:=1 to n do<BR>&nbsp;for j:=1 to n do<BR>&nbsp;read(fp,ga[i,j]);<BR>&nbsp;close(fp);<BR>end;<BR>procedure main;<BR>var<BR>&nbsp;i,j,w,m:integer;<BR>begin<BR>&nbsp;fillchar(s,sizeof(s),0);<BR>&nbsp;for i:=1 to n do<BR>&nbsp;dist[i]:=maxint;<BR>&nbsp;dist[k]:=0;<BR>&nbsp;for i:=1 to n-1 do<BR>&nbsp;begin<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m:=maxint;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for j:=1 to n do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (s[j]=0) and (dist[j]&lt;m) then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m:=dist[j];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; w:=j;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s[w]:=1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for j:=1 to n do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (s[j]=0) and (ga[w,j]&gt;0) and (dist[w]+ga[w,j]&lt;dist[j]) then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dist[j]:=dist[w]+ga[w,j];<BR>&nbsp;end;<BR>end;<BR>procedure print;<BR>var<BR>&nbsp;i,j:integer;<BR>begin<BR>&nbsp;assign(fp,oup);<BR>&nbsp;rewrite(fp);<BR>&nbsp;for i:=1 to n do<BR>&nbsp;write(fp,dist[i],' ');<BR>&nbsp;close(fp);<BR>end;<BR>begin<BR>&nbsp;init;<BR>&nbsp;main;<BR>&nbsp;print;<BR>end.</P>
<P>&nbsp;</P><img src ="http://www.cnitblog.com/kkxxlq/aggbug/2146.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/kkxxlq/" target="_blank">李青</a> 2005-08-17 09:31 <a href="http://www.cnitblog.com/kkxxlq/archive/2005/08/17/2146.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>