<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[My Digital Life]]></title> 
<link>http://us.mydigitallife.org.uk/index.php</link> 
<description><![CDATA[我的数码生活[US镜像]]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[My Digital Life]]></copyright>
<item>
<link>http://us.mydigitallife.org.uk/post/136/</link>
<title><![CDATA[代码人生——A*算法编程实践的感悟]]></title> 
<author>Robin Hoo &lt;robin.hoo@mydigitallife.org.uk&gt;</author>
<category><![CDATA[零碎杂凑]]></category>
<pubDate>Tue, 18 Nov 2008 06:14:59 +0000</pubDate> 
<guid>http://us.mydigitallife.org.uk/post/136/</guid> 
<description>
<![CDATA[ 
	<span style="color: #0000cc">#</span><span style="color: #ff0000">include</span> <span style="color: #0000cc">&lt;</span>stdio<span style="color: #0000cc">.</span>h<span style="color: #0000cc">&gt;</span><br /><span style="color: #0000cc">#</span><span style="color: #ff0000">include</span> <span style="color: #0000cc">&lt;</span>stdlib<span style="color: #0000cc">.</span>h<span style="color: #0000cc">&gt;</span><br /><span style="color: #0000cc">#</span><span style="color: #ff0000">include</span> <span style="color: #0000cc">&lt;</span>math<span style="color: #0000cc">.</span>h<span style="color: #0000cc">&gt;</span><br /><span style="color: #0000cc">#</span><span style="color: #ff0000">include</span> <span style="color: #0000cc">&lt;</span><span style="color: #ff0000">string</span><span style="color: #0000cc">.</span>h<span style="color: #0000cc">&gt;</span><br /><span style="color: #0000cc">#</span><span style="color: #ff0000">include</span> <span style="color: #0000cc">&lt;</span><span style="color: #ff0000">time</span><span style="color: #0000cc">.</span>h<span style="color: #0000cc">&gt;</span><br /><br /><span style="color: #0000ff">typedef</span> <span style="color: #0000ff">struct</span> child<br /><span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">struct</span> node <span style="color: #0000cc">*</span> son<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">struct</span> child <span style="color: #0000cc">*</span> next<span style="color: #0000cc">;</span><br /><span style="color: #0000cc">&#125;</span>child_node<span style="color: #0000cc">;</span><br /><br /><span style="color: #0000ff">typedef</span> <span style="color: #0000ff">struct</span> node<br /><span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">struct</span> node <span style="color: #0000cc">*</span> father<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">int</span> step<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">int</span> checked<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">char</span> map_string<span style="color: #0000cc">[</span>17<span style="color: #0000cc">]</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">struct</span> node <span style="color: #0000cc">*</span> next<span style="color: #0000cc">;</span><br /><span style="color: #0000cc">&#125;</span>map_node<span style="color: #0000cc">;</span><br /><br /><span style="color: #0000ff">int</span> <span style="color: #ff0000">Map</span><span style="color: #0000cc">[</span>4<span style="color: #0000cc">]</span><span style="color: #0000cc">[</span>4<span style="color: #0000cc">]</span><span style="color: #0000cc">;</span><br />map_node <span style="color: #0000cc">*</span> Map_Que<span style="color: #0000cc">=</span><span style="color: #ff0000">NULL</span><span style="color: #0000cc">;</span><br />child_node <span style="color: #0000cc">*</span> Final<span style="color: #0000cc">=</span><span style="color: #ff0000">NULL</span><span style="color: #0000cc">;</span><br /><span style="color: #0000ff">int</span> MinStep<span style="color: #0000cc">=</span><span style="color: #0000cc">-</span>1<span style="color: #0000cc">;</span><br /><span style="color: #ff0000">clock_t</span> start<span style="color: #0000cc">,</span>end<span style="color: #0000cc">;</span><br /><br /><span style="color: #0000ff">void</span> print_map<span style="color: #0000cc">(</span><span style="color: #0000ff">void</span><span style="color: #0000cc">)</span><br /><span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">int</span> i<span style="color: #0000cc">,</span>xpos<span style="color: #0000cc">,</span>ypos<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">for</span> <span style="color: #0000cc">(</span>i<span style="color: #0000cc">=</span>0<span style="color: #0000cc">;</span>i<span style="color: #0000cc">&lt;</span>16<span style="color: #0000cc">;</span>i<span style="color: #0000cc">+</span><span style="color: #0000cc">+</span><span style="color: #0000cc">)</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;xpos<span style="color: #0000cc">=</span>i<span style="color: #0000cc">%</span>4<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;ypos<span style="color: #0000cc">=</span>i<span style="color: #0000cc">/</span>4<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span><span style="color: #ff0000">Map</span><span style="color: #0000cc">[</span>xpos<span style="color: #0000cc">]</span><span style="color: #0000cc">[</span>ypos<span style="color: #0000cc">]</span><span style="color: #0000cc">&lt;</span>10<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #ff0000">printf</span><span style="color: #0000cc">(</span><span style="color: #ff00ff">&quot;%2u&quot;</span><span style="color: #0000cc">,</span><span style="color: #ff0000">Map</span><span style="color: #0000cc">[</span>xpos<span style="color: #0000cc">]</span><span style="color: #0000cc">[</span>ypos<span style="color: #0000cc">]</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">else</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #ff0000">printf</span><span style="color: #0000cc">(</span><span style="color: #ff00ff">&quot;%2c&quot;</span><span style="color: #0000cc">,</span><span style="color: #ff0000">Map</span><span style="color: #0000cc">[</span>xpos<span style="color: #0000cc">]</span><span style="color: #0000cc">[</span>ypos<span style="color: #0000cc">]</span><span style="color: #0000cc">+</span>55<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>xpos<span style="color: #0000cc">=</span><span style="color: #0000cc">=</span>3<span style="color: #0000cc">)</span> <span style="color: #ff0000">printf</span><span style="color: #0000cc">(</span><span style="color: #ff00ff">&quot;
&quot;</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#125;</span><br /><span style="color: #0000cc">&#125;</span><br /><br /><span style="color: #0000ff">void</span> string_to_map<span style="color: #0000cc">(</span><span style="color: #0000ff">char</span> <span style="color: #0000cc">*</span>map_string<span style="color: #0000cc">)</span><br /><span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">int</span> i<span style="color: #0000cc">,</span>xpos<span style="color: #0000cc">,</span>ypos<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">for</span><span style="color: #0000cc">(</span>i<span style="color: #0000cc">=</span>0<span style="color: #0000cc">;</span>i<span style="color: #0000cc">&lt;</span>16<span style="color: #0000cc">;</span>i<span style="color: #0000cc">+</span><span style="color: #0000cc">+</span><span style="color: #0000cc">)</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;xpos<span style="color: #0000cc">=</span>i<span style="color: #0000cc">%</span>4<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;ypos<span style="color: #0000cc">=</span>i<span style="color: #0000cc">/</span>4<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">]</span><span style="color: #0000cc">&lt;</span><span style="color: #0000cc">=</span><span style="color: #ff00ff">'9'</span><span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #ff0000">Map</span><span style="color: #0000cc">[</span>xpos<span style="color: #0000cc">]</span><span style="color: #0000cc">[</span>ypos<span style="color: #0000cc">]</span><span style="color: #0000cc">=</span>map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">]</span><span style="color: #0000cc">-</span>0x30<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">else</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #ff0000">Map</span><span style="color: #0000cc">[</span>xpos<span style="color: #0000cc">]</span><span style="color: #0000cc">[</span>ypos<span style="color: #0000cc">]</span><span style="color: #0000cc">=</span>map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">]</span><span style="color: #0000cc">-</span>0x37<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#125;</span><br /><span style="color: #0000cc">&#125;</span><br /><br /><span style="color: #0000ff">char</span> <span style="color: #0000cc">*</span>map_to_string<span style="color: #0000cc">(</span><span style="color: #0000cc">)</span><br /><span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">static</span> <span style="color: #0000ff">char</span> map_string<span style="color: #0000cc">[</span>17<span style="color: #0000cc">]</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">int</span> i<span style="color: #0000cc">,</span>xpos<span style="color: #0000cc">,</span>ypos<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; map_string<span style="color: #0000cc">[</span>16<span style="color: #0000cc">]</span><span style="color: #0000cc">=</span>0<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">for</span><span style="color: #0000cc">(</span>i<span style="color: #0000cc">=</span>0<span style="color: #0000cc">;</span>i<span style="color: #0000cc">&lt;</span>16<span style="color: #0000cc">;</span>i<span style="color: #0000cc">+</span><span style="color: #0000cc">+</span><span style="color: #0000cc">)</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;xpos<span style="color: #0000cc">=</span>i<span style="color: #0000cc">%</span>4<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;ypos<span style="color: #0000cc">=</span>i<span style="color: #0000cc">/</span>4<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span><span style="color: #ff0000">Map</span><span style="color: #0000cc">[</span>xpos<span style="color: #0000cc">]</span><span style="color: #0000cc">[</span>ypos<span style="color: #0000cc">]</span><span style="color: #0000cc">&lt;</span>10<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">]</span><span style="color: #0000cc">=</span><span style="color: #ff0000">Map</span><span style="color: #0000cc">[</span>xpos<span style="color: #0000cc">]</span><span style="color: #0000cc">[</span>ypos<span style="color: #0000cc">]</span><span style="color: #0000cc">+</span>0x30<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">else</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">]</span><span style="color: #0000cc">=</span><span style="color: #ff0000">Map</span><span style="color: #0000cc">[</span>xpos<span style="color: #0000cc">]</span><span style="color: #0000cc">[</span>ypos<span style="color: #0000cc">]</span><span style="color: #0000cc">+</span>0x37<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">return</span> map_string<span style="color: #0000cc">;</span><br /><span style="color: #0000cc">&#125;</span><br /><br /><span style="color: #0000ff">int</span> calculate_map_string<span style="color: #0000cc">(</span><span style="color: #0000ff">char</span><span style="color: #0000cc">*</span>map_string<span style="color: #0000cc">,</span><span style="color: #0000ff">int</span> mode<span style="color: #0000cc">)</span><br /><span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">int</span> i<span style="color: #0000cc">,</span>xpos<span style="color: #0000cc">,</span>ypos<span style="color: #0000cc">,</span>x<span style="color: #0000cc">,</span>y<span style="color: #0000cc">,</span><span style="color: #ff0000">distance</span><span style="color: #0000cc">,</span>val<span style="color: #0000cc">,</span>dist<span style="color: #0000cc">,</span><span style="color: #ff0000">times</span><span style="color: #0000cc">=</span>14<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #ff0000">distance</span><span style="color: #0000cc">=</span>dist<span style="color: #0000cc">=</span>0<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #ff9900">//成功与否在你真正实现之前，我们能做的只能是评估。<br /></span><br />&nbsp; &nbsp; <span style="color: #ff9900">//而评估的方法千差万别，但对你修正自己的目标却是至关重要！<br /></span><br />&nbsp; &nbsp; <span style="color: #0000ff">for</span><span style="color: #0000cc">(</span>i<span style="color: #0000cc">=</span>0<span style="color: #0000cc">;</span>i<span style="color: #0000cc">&lt;</span>16<span style="color: #0000cc">;</span>i<span style="color: #0000cc">+</span><span style="color: #0000cc">+</span><span style="color: #0000cc">)</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">]</span><span style="color: #0000cc">=</span><span style="color: #0000cc">=</span>0x30<span style="color: #0000cc">)</span> <span style="color: #0000ff">continue</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;xpos<span style="color: #0000cc">=</span>i<span style="color: #0000cc">%</span>4<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;ypos<span style="color: #0000cc">=</span>i<span style="color: #0000cc">/</span>4<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;val<span style="color: #0000cc">=</span>map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">]</span><span style="color: #0000cc">-</span>0x30<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>val<span style="color: #0000cc">&gt;</span>9<span style="color: #0000cc">)</span> val<span style="color: #0000cc">-</span><span style="color: #0000cc">=</span>7<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>val<span style="color: #0000cc">=</span><span style="color: #0000cc">=</span>i<span style="color: #0000cc">+</span>1<span style="color: #0000cc">)</span> <span style="color: #ff0000">times</span><span style="color: #0000cc">-</span><span style="color: #0000cc">-</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;x<span style="color: #0000cc">=</span><span style="color: #0000cc">(</span>val<span style="color: #0000cc">-</span>1<span style="color: #0000cc">)</span><span style="color: #0000cc">%</span>4<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;y<span style="color: #0000cc">=</span><span style="color: #0000cc">(</span>val<span style="color: #0000cc">-</span>1<span style="color: #0000cc">)</span><span style="color: #0000cc">/</span>4<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff0000">distance</span><span style="color: #0000cc">+</span><span style="color: #0000cc">=</span><span style="color: #ff0000">abs</span><span style="color: #0000cc">(</span>x<span style="color: #0000cc">-</span>xpos<span style="color: #0000cc">)</span><span style="color: #0000cc">+</span><span style="color: #ff0000">abs</span><span style="color: #0000cc">(</span>y<span style="color: #0000cc">-</span>ypos<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;dist<span style="color: #0000cc">+</span><span style="color: #0000cc">=</span><span style="color: #0000cc">(</span>x<span style="color: #0000cc">-</span>xpos<span style="color: #0000cc">)</span><span style="color: #0000cc">*</span><span style="color: #0000cc">(</span>x<span style="color: #0000cc">-</span>xpos<span style="color: #0000cc">)</span><span style="color: #0000cc">+</span><span style="color: #0000cc">(</span>y<span style="color: #0000cc">-</span>ypos<span style="color: #0000cc">)</span><span style="color: #0000cc">*</span><span style="color: #0000cc">(</span>y<span style="color: #0000cc">-</span>ypos<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp; <span style="color: #ff9900">//而且在不同的场合我们所需要的评估手段也不尽相同<br /></span><br />&nbsp; &nbsp; <span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>mode<span style="color: #0000cc">=</span><span style="color: #0000cc">=</span>1<span style="color: #0000cc">)</span> <span style="color: #0000ff">return</span> <span style="color: #ff0000">distance</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">return</span> dist<span style="color: #0000cc">*</span><span style="color: #ff0000">times</span><span style="color: #0000cc">;</span><br /><span style="color: #0000cc">&#125;</span><br /><br />map_node <span style="color: #0000cc">*</span>new_map_status<span style="color: #0000cc">(</span>map_node <span style="color: #0000cc">*</span> father_node<span style="color: #0000cc">,</span><span style="color: #0000ff">char</span> <span style="color: #0000cc">*</span>map_string<span style="color: #0000cc">,</span><span style="color: #0000ff">int</span> steps<span style="color: #0000cc">)</span><br /><span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp; map_node <span style="color: #0000cc">*</span>new_node<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; new_node<span style="color: #0000cc">=</span><span style="color: #0000cc">(</span>map_node <span style="color: #0000cc">*</span><span style="color: #0000cc">)</span><span style="color: #ff0000">malloc</span><span style="color: #0000cc">(</span><span style="color: #0000ff">sizeof</span><span style="color: #0000cc">(</span>map_node<span style="color: #0000cc">)</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>new_node!=NULL<span style="color: #0000cc">)</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff9900">//每一步的都是崭新的，但是也已经蕴藏了是否能成功的关键<br /></span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;new_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>father<span style="color: #0000cc">=</span>father_node<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff0000">strcpy</span><span style="color: #0000cc">(</span>new_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">,</span>map_string<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;new_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>step<span style="color: #0000cc">=</span>steps<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;new_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">=</span><span style="color: #ff0000">NULL</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;new_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>checked<span style="color: #0000cc">=</span>0<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">return</span> new_node<span style="color: #0000cc">;</span><br /><span style="color: #0000cc">&#125;</span><br /><br /><span style="color: #0000ff">int</span> compare_map<span style="color: #0000cc">(</span><span style="color: #0000ff">char</span> <span style="color: #0000cc">*</span>map1<span style="color: #0000cc">,</span><span style="color: #0000ff">int</span> step1<span style="color: #0000cc">,</span><span style="color: #0000ff">char</span> <span style="color: #0000cc">*</span>map2<span style="color: #0000cc">,</span><span style="color: #0000ff">int</span> step2<span style="color: #0000cc">)</span><br /><span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">int</span> dist1<span style="color: #0000cc">,</span>dist2<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; dist1<span style="color: #0000cc">=</span>calculate_map_string<span style="color: #0000cc">(</span>map1<span style="color: #0000cc">,</span>0<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; dist2<span style="color: #0000cc">=</span>calculate_map_string<span style="color: #0000cc">(</span>map2<span style="color: #0000cc">,</span>0<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>dist1<span style="color: #0000cc">&gt;</span>dist2<span style="color: #0000cc">)</span> <span style="color: #0000ff">return</span> 1<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>dist1<span style="color: #0000cc">&lt;</span>dist2<span style="color: #0000cc">)</span> <span style="color: #0000ff">return</span> <span style="color: #0000cc">-</span>1<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #ff9900">//在成功之前，我们面对的竞争是残酷的，即使一点微小的差别，也会导致落选！<br /></span><br />&nbsp; &nbsp; <span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>step1<span style="color: #0000cc">&gt;</span>step2<span style="color: #0000cc">)</span> <span style="color: #0000ff">return</span> 1<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>step1<span style="color: #0000cc">&lt;</span>step2<span style="color: #0000cc">)</span> <span style="color: #0000ff">return</span> <span style="color: #0000cc">-</span>1<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">return</span> 0<span style="color: #0000cc">;</span><br /><span style="color: #0000cc">&#125;</span><br /><br />map_node <span style="color: #0000cc">*</span> insert_map_que<span style="color: #0000cc">(</span>map_node <span style="color: #0000cc">*</span>father_node<span style="color: #0000cc">,</span><span style="color: #0000ff">char</span> <span style="color: #0000cc">*</span>map_string<span style="color: #0000cc">,</span><span style="color: #0000ff">int</span> steps<span style="color: #0000cc">)</span><br /><span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp; map_node <span style="color: #0000cc">*</span> <span style="color: #ff0000">queue</span><span style="color: #0000cc">=</span>Map_Que<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; map_node <span style="color: #0000cc">*</span> result<span style="color: #0000cc">=</span><span style="color: #ff0000">NULL</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; map_node <span style="color: #0000cc">*</span> last<span style="color: #0000cc">=</span><span style="color: #ff0000">NULL</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">int</span> checked<span style="color: #0000cc">=</span>0<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">while</span> <span style="color: #0000cc">(</span>queue!=NULL<span style="color: #0000cc">)</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff9900">//迟到会让机会永远跟你说再见<br /></span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>checked<span style="color: #0000cc">=</span><span style="color: #0000cc">=</span>0 <span style="color: #0000cc">&amp;</span><span style="color: #0000cc">&amp;</span> <span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>step<span style="color: #0000cc">&lt;</span>steps <span style="color: #0000cc">&amp;</span><span style="color: #0000cc">&amp;</span> <span style="color: #ff0000">strcmp</span><span style="color: #0000cc">(</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">,</span>map_string<span style="color: #0000cc">)</span><span style="color: #0000cc">=</span><span style="color: #0000cc">=</span>0<span style="color: #0000cc">)</span> <span style="color: #0000ff">return</span> <span style="color: #ff0000">NULL</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff9900">//如果有人成功过，那么你所面临的淘汰可能是空前的！<br /></span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>checked<span style="color: #0000cc">=</span><span style="color: #0000cc">=</span>1 <span style="color: #0000cc">&amp;</span><span style="color: #0000cc">&amp;</span> MinStep<span style="color: #0000cc">&gt;</span>0 <span style="color: #0000cc">&amp;</span><span style="color: #0000cc">&amp;</span> <span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>step<span style="color: #0000cc">+</span>calculate_map_string<span style="color: #0000cc">(</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">,</span>1<span style="color: #0000cc">)</span><span style="color: #0000cc">&gt;</span>MinStep<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>last!=NULL<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; last<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">=</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #ff0000">free</span><span style="color: #0000cc">(</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #ff0000">queue</span><span style="color: #0000cc">=</span>last<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #0000ff">continue</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000ff">else</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; Map_Que<span style="color: #0000cc">=</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #ff0000">free</span><span style="color: #0000cc">(</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #ff0000">queue</span><span style="color: #0000cc">=</span>Map_Que<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #0000ff">continue</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff9900">//先下手未必强，后来者也可居上！<br /></span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>checked<span style="color: #0000cc">=</span><span style="color: #0000cc">=</span>1 <span style="color: #0000cc">&amp;</span><span style="color: #0000cc">&amp;</span> <span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>step<span style="color: #0000cc">&gt;</span>steps <span style="color: #0000cc">&amp;</span><span style="color: #0000cc">&amp;</span> <span style="color: #ff0000">strcmp</span><span style="color: #0000cc">(</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">,</span>map_string<span style="color: #0000cc">)</span><span style="color: #0000cc">=</span><span style="color: #0000cc">=</span>0<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; last<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">=</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #ff0000">free</span><span style="color: #0000cc">(</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #ff0000">queue</span><span style="color: #0000cc">=</span>last<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #0000ff">continue</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff9900">//竞争的残酷，居然可以蔓延到下一代！<br /></span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>checked<span style="color: #0000cc">=</span><span style="color: #0000cc">=</span>1 <span style="color: #0000cc">&amp;</span><span style="color: #0000cc">&amp;</span> <span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>father!=NULL <span style="color: #0000cc">&amp;</span><span style="color: #0000cc">&amp;</span> <span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>father<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string!=NULL <span style="color: #0000cc">&amp;</span><span style="color: #0000cc">&amp;</span> <span style="color: #ff0000">strcmp</span><span style="color: #0000cc">(</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>father<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">,</span>map_string<span style="color: #0000cc">)</span><span style="color: #0000cc">=</span><span style="color: #0000cc">=</span>0<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>father<span style="color: #0000cc">=</span>result<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;last<span style="color: #0000cc">=</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #ff0000">queue</span><span style="color: #0000cc">=</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000ff">continue</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff9900">//肃清运动一定会是彻底而残酷的！<br /></span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>checked<span style="color: #0000cc">=</span><span style="color: #0000cc">=</span>1<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;last<span style="color: #0000cc">=</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #ff0000">queue</span><span style="color: #0000cc">=</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000ff">continue</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff9900">//在队列中找到了自己的位置，那只是一切的开始！<br /></span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>compare_map<span style="color: #0000cc">(</span>map_string<span style="color: #0000cc">,</span>steps<span style="color: #0000cc">,</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">,</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>step<span style="color: #0000cc">)</span><span style="color: #0000cc">=</span><span style="color: #0000cc">=</span><span style="color: #0000cc">-</span>1 <span style="color: #0000cc">&#124;</span><span style="color: #0000cc">&#124;</span> <span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">=</span><span style="color: #0000cc">=</span><span style="color: #ff0000">NULL</span><span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;result<span style="color: #0000cc">=</span>new_map_status<span style="color: #0000cc">(</span>father_node<span style="color: #0000cc">,</span>map_string<span style="color: #0000cc">,</span>steps<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>result<span style="color: #0000cc">=</span><span style="color: #0000cc">=</span><span style="color: #ff0000">NULL</span><span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #ff0000">printf</span><span style="color: #0000cc">(</span><span style="color: #ff00ff">&quot;ERROR IN INSERT_MAP_QUE!
&quot;</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #ff0000">exit</span><span style="color: #0000cc">(</span>1<span style="color: #0000cc">)</span> <span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>last!=NULL<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; last<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">=</span>result<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000ff">else</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; Map_Que<span style="color: #0000cc">=</span>result<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;result<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">=</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;result<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>checked<span style="color: #0000cc">=</span>0<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;checked<span style="color: #0000cc">=</span>1<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;last<span style="color: #0000cc">=</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff0000">queue</span><span style="color: #0000cc">=</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">return</span> result<span style="color: #0000cc">;</span><br /><span style="color: #0000cc">&#125;</span><br /><br /><span style="color: #0000ff">void</span> add_child<span style="color: #0000cc">(</span>map_node<span style="color: #0000cc">*</span> now_node<span style="color: #0000cc">)</span><br /><span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp; child_node <span style="color: #0000cc">*</span> new_node<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; new_node<span style="color: #0000cc">=</span><span style="color: #0000cc">(</span>child_node <span style="color: #0000cc">*</span><span style="color: #0000cc">)</span><span style="color: #ff0000">malloc</span><span style="color: #0000cc">(</span><span style="color: #0000ff">sizeof</span><span style="color: #0000cc">(</span>child_node<span style="color: #0000cc">)</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>new_node<span style="color: #0000cc">=</span><span style="color: #0000cc">=</span><span style="color: #ff0000">NULL</span><span style="color: #0000cc">)</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff0000">printf</span><span style="color: #0000cc">(</span><span style="color: #ff00ff">&quot;ERROR IN APPLY MEMORY IN ADD_CHILD!
&quot;</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff0000">exit</span><span style="color: #0000cc">(</span>1<span style="color: #0000cc">)</span> <span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp; new_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>son<span style="color: #0000cc">=</span>now_node<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; new_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">=</span>Final<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; Final<span style="color: #0000cc">=</span>new_node<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">return</span><span style="color: #0000cc">;</span><br /><span style="color: #0000cc">&#125;</span><br /><br /><span style="color: #0000ff">int</span> develop_node<span style="color: #0000cc">(</span>map_node<span style="color: #0000cc">*</span> now_node<span style="color: #0000cc">)</span><br /><span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">int</span> i<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">char</span> map_string<span style="color: #0000cc">[</span>17<span style="color: #0000cc">]</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; map_node<span style="color: #0000cc">*</span> candidate<span style="color: #0000cc">;</span><br /><br />&nbsp; &nbsp; <span style="color: #0000ff">for</span> <span style="color: #0000cc">(</span>i<span style="color: #0000cc">=</span>0<span style="color: #0000cc">;</span>i<span style="color: #0000cc">&lt;</span>16<span style="color: #0000cc">;</span>i<span style="color: #0000cc">+</span><span style="color: #0000cc">+</span><span style="color: #0000cc">)</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">]</span><span style="color: #0000cc">=</span><span style="color: #0000cc">=</span><span style="color: #ff00ff">'0'</span><span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #ff9900">//寻找出路的过程是漫长而乏味的，上下以求索，是成功前必由之路<br /></span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #ff9900">//Up Side Move<br /></span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #ff0000">strcpy</span><span style="color: #0000cc">(</span>map_string<span style="color: #0000cc">,</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>i<span style="color: #0000cc">/</span>4<span style="color: #0000cc">&gt;</span><span style="color: #0000cc">=</span>1<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">-</span>4<span style="color: #0000cc">]</span><span style="color: #0000cc">=</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">]</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">]</span><span style="color: #0000cc">=</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">-</span>4<span style="color: #0000cc">]</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>MinStep<span style="color: #0000cc">=</span><span style="color: #0000cc">=</span><span style="color: #0000cc">-</span>1 <span style="color: #0000cc">&#124;</span><span style="color: #0000cc">&#124;</span> calculate_map_string<span style="color: #0000cc">(</span>map_string<span style="color: #0000cc">,</span>1<span style="color: #0000cc">)</span><span style="color: #0000cc">+</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>step<span style="color: #0000cc">&lt;</span>MinStep<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff9900">//能够成为候选者应该是一种荣幸，特别是在有人成功以后！<br /></span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;candidate<span style="color: #0000cc">=</span>insert_map_que<span style="color: #0000cc">(</span>now_node<span style="color: #0000cc">,</span>map_string<span style="color: #0000cc">,</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>step<span style="color: #0000cc">+</span>1<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #ff9900">//Left Side Move<br /></span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #ff0000">strcpy</span><span style="color: #0000cc">(</span>map_string<span style="color: #0000cc">,</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>i<span style="color: #0000cc">%</span>4<span style="color: #0000cc">&gt;</span>0<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">-</span>1<span style="color: #0000cc">]</span><span style="color: #0000cc">=</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">]</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">]</span><span style="color: #0000cc">=</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">-</span>1<span style="color: #0000cc">]</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>MinStep<span style="color: #0000cc">=</span><span style="color: #0000cc">=</span><span style="color: #0000cc">-</span>1 <span style="color: #0000cc">&#124;</span><span style="color: #0000cc">&#124;</span> calculate_map_string<span style="color: #0000cc">(</span>map_string<span style="color: #0000cc">,</span>1<span style="color: #0000cc">)</span><span style="color: #0000cc">+</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>step<span style="color: #0000cc">&lt;</span>MinStep<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;candidate<span style="color: #0000cc">=</span>insert_map_que<span style="color: #0000cc">(</span>now_node<span style="color: #0000cc">,</span>map_string<span style="color: #0000cc">,</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>step<span style="color: #0000cc">+</span>1<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#125;</span><br /><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #ff9900">//Right Side Move<br /></span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #ff0000">strcpy</span><span style="color: #0000cc">(</span>map_string<span style="color: #0000cc">,</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>i<span style="color: #0000cc">%</span>4<span style="color: #0000cc">&lt;</span>3<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">+</span>1<span style="color: #0000cc">]</span><span style="color: #0000cc">=</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">]</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">]</span><span style="color: #0000cc">=</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">+</span>1<span style="color: #0000cc">]</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>MinStep<span style="color: #0000cc">=</span><span style="color: #0000cc">=</span><span style="color: #0000cc">-</span>1 <span style="color: #0000cc">&#124;</span><span style="color: #0000cc">&#124;</span> calculate_map_string<span style="color: #0000cc">(</span>map_string<span style="color: #0000cc">,</span>1<span style="color: #0000cc">)</span><span style="color: #0000cc">+</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>step<span style="color: #0000cc">&lt;</span>MinStep<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;candidate<span style="color: #0000cc">=</span>insert_map_que<span style="color: #0000cc">(</span>now_node<span style="color: #0000cc">,</span>map_string<span style="color: #0000cc">,</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>step<span style="color: #0000cc">+</span>1<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#125;</span><br /><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #ff9900">//Down Side Move<br /></span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #ff0000">strcpy</span><span style="color: #0000cc">(</span>map_string<span style="color: #0000cc">,</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>i<span style="color: #0000cc">/</span>4<span style="color: #0000cc">&lt;</span>3<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">+</span>4<span style="color: #0000cc">]</span><span style="color: #0000cc">=</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">]</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">]</span><span style="color: #0000cc">=</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">[</span>i<span style="color: #0000cc">+</span>4<span style="color: #0000cc">]</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>MinStep<span style="color: #0000cc">=</span><span style="color: #0000cc">=</span><span style="color: #0000cc">-</span>1 <span style="color: #0000cc">&#124;</span><span style="color: #0000cc">&#124;</span> calculate_map_string<span style="color: #0000cc">(</span>map_string<span style="color: #0000cc">,</span>1<span style="color: #0000cc">)</span><span style="color: #0000cc">+</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>step<span style="color: #0000cc">&lt;</span>MinStep<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;candidate<span style="color: #0000cc">=</span>insert_map_que<span style="color: #0000cc">(</span>now_node<span style="color: #0000cc">,</span>map_string<span style="color: #0000cc">,</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>step<span style="color: #0000cc">+</span>1<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#125;</span><br /><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">return</span> 0<span style="color: #0000cc">;</span><br /><span style="color: #0000cc">&#125;</span><br /><br />map_node <span style="color: #0000cc">*</span>get_next_node<span style="color: #0000cc">(</span><span style="color: #0000cc">)</span><br /><span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp; map_node<span style="color: #0000cc">*</span> <span style="color: #ff0000">queue</span><span style="color: #0000cc">=</span>Map_Que<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; map_node<span style="color: #0000cc">*</span> last<span style="color: #0000cc">=</span><span style="color: #ff0000">NULL</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">while</span><span style="color: #0000cc">(</span>queue!=NULL<span style="color: #0000cc">)</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff9900">//成功者是暂时的强者，但它可以用来鉴定后来者的质素！<br /></span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>MinStep<span style="color: #0000cc">&gt;</span>0 <span style="color: #0000cc">&amp;</span><span style="color: #0000cc">&amp;</span> <span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>step<span style="color: #0000cc">+</span>calculate_map_string<span style="color: #0000cc">(</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">,</span>1<span style="color: #0000cc">)</span><span style="color: #0000cc">&gt;</span>MinStep<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>last!=NULL<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; last<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">=</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #ff0000">free</span><span style="color: #0000cc">(</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #ff0000">queue</span><span style="color: #0000cc">=</span>last<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #0000ff">continue</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000ff">else</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; Map_Que<span style="color: #0000cc">=</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #ff0000">free</span><span style="color: #0000cc">(</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #ff0000">queue</span><span style="color: #0000cc">=</span>Map_Que<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #0000ff">continue</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff9900">//尚未触及的世界总是值得我们去探知的！<br /></span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>checked<span style="color: #0000cc">=</span><span style="color: #0000cc">=</span>0<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>checked<span style="color: #0000cc">=</span>1<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000ff">return</span> <span style="color: #ff0000">queue</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;last<span style="color: #0000cc">=</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff0000">queue</span><span style="color: #0000cc">=</span><span style="color: #ff0000">queue</span><span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">return</span> <span style="color: #ff0000">NULL</span><span style="color: #0000cc">;</span><br /><span style="color: #0000cc">&#125;</span><br /><br /><span style="color: #0000ff">int</span> main<span style="color: #0000cc">(</span><span style="color: #0000cc">)</span><br /><span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">int</span> i<span style="color: #0000cc">,</span>now_distance<span style="color: #0000cc">=</span><span style="color: #0000cc">-</span>1<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">int</span> xpos<span style="color: #0000cc">,</span>ypos<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; map_node<span style="color: #0000cc">*</span> now_node<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">void</span> <span style="color: #0000cc">*</span>last<span style="color: #0000cc">;</span><br /><br />&nbsp; &nbsp; <span style="color: #ff9900">//机遇和挑战常常是以时间作为自变量的随机函数！<br /></span><br />&nbsp; &nbsp; <span style="color: #ff9900">//会有雷同，但不停变化！<br /></span><br />&nbsp; &nbsp; <span style="color: #ff0000">srand</span><span style="color: #0000cc">(</span><span style="color: #ff0000">time</span><span style="color: #0000cc">(</span><span style="color: #ff0000">NULL</span><span style="color: #0000cc">)</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">for</span><span style="color: #0000cc">(</span>i<span style="color: #0000cc">=</span>0<span style="color: #0000cc">;</span>i<span style="color: #0000cc">&lt;</span>16<span style="color: #0000cc">;</span>i<span style="color: #0000cc">+</span><span style="color: #0000cc">+</span><span style="color: #0000cc">)</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;xpos<span style="color: #0000cc">=</span>i<span style="color: #0000cc">%</span>4<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;ypos<span style="color: #0000cc">=</span>i<span style="color: #0000cc">/</span>4<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff0000">Map</span><span style="color: #0000cc">[</span>xpos<span style="color: #0000cc">]</span><span style="color: #0000cc">[</span>ypos<span style="color: #0000cc">]</span><span style="color: #0000cc">=</span>0<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">for</span><span style="color: #0000cc">(</span>i<span style="color: #0000cc">=</span>0<span style="color: #0000cc">;</span>i<span style="color: #0000cc">&lt;</span>14<span style="color: #0000cc">;</span>i<span style="color: #0000cc">+</span><span style="color: #0000cc">+</span><span style="color: #0000cc">)</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">do</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;xpos<span style="color: #0000cc">=</span><span style="color: #ff0000">rand</span><span style="color: #0000cc">(</span><span style="color: #0000cc">)</span><span style="color: #0000cc">*</span>4<span style="color: #0000cc">/</span><span style="color: #0000cc">(</span><span style="color: #ff0000">RAND_MAX</span><span style="color: #0000cc">+</span>1<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;ypos<span style="color: #0000cc">=</span><span style="color: #ff0000">rand</span><span style="color: #0000cc">(</span><span style="color: #0000cc">)</span><span style="color: #0000cc">*</span>4<span style="color: #0000cc">/</span><span style="color: #0000cc">(</span><span style="color: #ff0000">RAND_MAX</span><span style="color: #0000cc">+</span>1<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#125;</span><span style="color: #0000ff">while</span> <span style="color: #0000cc">(</span><span style="color: #ff0000">Map</span><span style="color: #0000cc">[</span>xpos<span style="color: #0000cc">]</span><span style="color: #0000cc">[</span>ypos<span style="color: #0000cc">]</span><span style="color: #0000cc">!</span><span style="color: #0000cc">=</span>0<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff9900">//面临的一切总不相同！<br /></span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff0000">Map</span><span style="color: #0000cc">[</span>xpos<span style="color: #0000cc">]</span><span style="color: #0000cc">[</span>ypos<span style="color: #0000cc">]</span><span style="color: #0000cc">=</span>i<span style="color: #0000cc">+</span>1<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp; print_map<span style="color: #0000cc">(</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #ff0000">getchar</span><span style="color: #0000cc">(</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; start<span style="color: #0000cc">=</span><span style="color: #ff0000">clock</span><span style="color: #0000cc">(</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #ff9900">//一切问题的开始总是那么简单，然而处理的过程有时却恰恰相反！<br /></span><br />&nbsp; &nbsp; Map_Que<span style="color: #0000cc">=</span>new_map_status<span style="color: #0000cc">(</span><span style="color: #ff0000">NULL</span><span style="color: #0000cc">,</span>map_to_string<span style="color: #0000cc">(</span><span style="color: #0000cc">)</span><span style="color: #0000cc">,</span>0<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; now_node<span style="color: #0000cc">=</span>get_next_node<span style="color: #0000cc">(</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">while</span><span style="color: #0000cc">(</span>now_node!=NULL<span style="color: #0000cc">)</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff9900">//探索的过程总是很乏味的，发现，判断，继续发现，继续判断，直到我们找到我们人为最好的解决方法<br /></span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;develop_node<span style="color: #0000cc">(</span>now_node<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>now_distance<span style="color: #0000cc">=</span><span style="color: #0000cc">=</span><span style="color: #0000cc">-</span>1 <span style="color: #0000cc">&#124;</span><span style="color: #0000cc">&#124;</span> calculate_map_string<span style="color: #0000cc">(</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">,</span>0<span style="color: #0000cc">)</span><span style="color: #0000cc">&lt;</span>now_distance<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;string_to_map<span style="color: #0000cc">(</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;print_map<span style="color: #0000cc">(</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;end<span style="color: #0000cc">=</span><span style="color: #ff0000">clock</span><span style="color: #0000cc">(</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #ff0000">printf</span><span style="color: #0000cc">(</span><span style="color: #ff00ff">&quot;[%7lf] Step:%3u		Distance:%2u
&quot;</span><span style="color: #0000cc">,</span><span style="color: #0000cc">(</span><span style="color: #0000ff">double</span><span style="color: #0000cc">)</span><span style="color: #0000cc">(</span>end<span style="color: #0000cc">-</span>start<span style="color: #0000cc">)</span><span style="color: #0000cc">/</span><span style="color: #0000cc">(</span><span style="color: #0000ff">double</span><span style="color: #0000cc">)</span><span style="color: #ff0000">CLOCKS_PER_SEC</span><span style="color: #0000cc">,</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>step<span style="color: #0000cc">,</span>calculate_map_string<span style="color: #0000cc">(</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">,</span>0<span style="color: #0000cc">)</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;now_distance<span style="color: #0000cc">=</span>calculate_map_string<span style="color: #0000cc">(</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">,</span>0<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#125;</span><br /><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>calculate_map_string<span style="color: #0000cc">(</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">,</span>0<span style="color: #0000cc">)</span><span style="color: #0000cc">=</span><span style="color: #0000cc">=</span>0<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>MinStep<span style="color: #0000cc">=</span><span style="color: #0000cc">=</span><span style="color: #0000cc">-</span>1 <span style="color: #0000cc">&#124;</span><span style="color: #0000cc">&#124;</span> now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>step<span style="color: #0000cc">&lt;</span>MinStep<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; MinStep<span style="color: #0000cc">=</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>step<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; end<span style="color: #0000cc">=</span><span style="color: #ff0000">clock</span><span style="color: #0000cc">(</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #ff0000">printf</span><span style="color: #0000cc">(</span><span style="color: #ff00ff">&quot;[%7lf] Now Min Step Is %u
&quot;</span><span style="color: #0000cc">,</span><span style="color: #0000cc">(</span><span style="color: #0000ff">double</span><span style="color: #0000cc">)</span><span style="color: #0000cc">(</span>end<span style="color: #0000cc">-</span>start<span style="color: #0000cc">)</span><span style="color: #0000cc">/</span><span style="color: #0000cc">(</span><span style="color: #0000ff">double</span><span style="color: #0000cc">)</span><span style="color: #ff0000">CLOCKS_PER_SEC</span><span style="color: #0000cc">,</span>MinStep<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#125;</span><br /><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;now_node<span style="color: #0000cc">=</span>get_next_node<span style="color: #0000cc">(</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp; <span style="color: #ff0000">printf</span><span style="color: #0000cc">(</span><span style="color: #ff00ff">&quot;
&quot;</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; end<span style="color: #0000cc">=</span><span style="color: #ff0000">clock</span><span style="color: #0000cc">(</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #ff0000">printf</span><span style="color: #0000cc">(</span><span style="color: #ff00ff">&quot;[%7lf] Seeking Finished!
&quot;</span><span style="color: #0000cc">,</span><span style="color: #0000cc">(</span><span style="color: #0000ff">double</span><span style="color: #0000cc">)</span><span style="color: #0000cc">(</span>end<span style="color: #0000cc">-</span>start<span style="color: #0000cc">)</span><span style="color: #0000cc">/</span><span style="color: #0000cc">(</span><span style="color: #0000ff">double</span><span style="color: #0000cc">)</span><span style="color: #ff0000">CLOCKS_PER_SEC</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #ff0000">printf</span><span style="color: #0000cc">(</span><span style="color: #ff00ff">&quot;
&quot;</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>MinStep!=-1<span style="color: #0000cc">)</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;now_node<span style="color: #0000cc">=</span>Map_Que<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000ff">while</span><span style="color: #0000cc">(</span>now_node!=NULL<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #ff9900">//这些才是最终胜出的！<br /></span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000ff">if</span> <span style="color: #0000cc">(</span>calculate_map_string<span style="color: #0000cc">(</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">,</span>0<span style="color: #0000cc">)</span><span style="color: #0000cc">=</span><span style="color: #0000cc">=</span>0<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; add_child<span style="color: #0000cc">(</span>now_node<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #0000ff">while</span><span style="color: #0000cc">(</span>Final!=NULL<span style="color: #0000cc">)</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;string_to_map<span style="color: #0000cc">(</span>Final<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>son<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;print_map<span style="color: #0000cc">(</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff0000">printf</span><span style="color: #0000cc">(</span><span style="color: #ff00ff">&quot;Step %u		Distance %u
&quot;</span><span style="color: #0000cc">,</span>Final<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>son<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>step<span style="color: #0000cc">,</span>calculate_map_string<span style="color: #0000cc">(</span>Final<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>son<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>map_string<span style="color: #0000cc">,</span>0<span style="color: #0000cc">)</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;last<span style="color: #0000cc">=</span>Final<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Final<span style="color: #0000cc">=</span>Final<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff0000">free</span><span style="color: #0000cc">(</span>last<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <span style="color: #ff0000">printf</span><span style="color: #0000cc">(</span><span style="color: #ff00ff">&quot;===============================
&quot;</span><span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;now_node<span style="color: #0000cc">=</span>now_node<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp; <span style="color: #ff9900">//学会清理是很重要的！<br /></span><br />&nbsp; &nbsp; <span style="color: #0000ff">while</span><span style="color: #0000cc">(</span>Map_Que!=NULL<span style="color: #0000cc">)</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#123;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;last<span style="color: #0000cc">=</span>Map_Que<span style="color: #0000cc">-</span><span style="color: #0000cc">&gt;</span>next<span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<span style="color: #ff0000">free</span><span style="color: #0000cc">(</span>Map_Que<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Map_Que<span style="color: #0000cc">=</span>last<span style="color: #0000cc">;</span><br />&nbsp; &nbsp; <span style="color: #0000cc">&#125;</span><br />&nbsp; &nbsp; <span style="color: #ff0000">exit</span><span style="color: #0000cc">(</span>0<span style="color: #0000cc">)</span><span style="color: #0000cc">;</span><br /><span style="color: #0000cc">&#125;</span><br />
]]>
</description>
</item><item>
<link>http://us.mydigitallife.org.uk/post/135/</link>
<title><![CDATA[关于OpenSUSE带gfxmenu的grub之应用]]></title> 
<author>Robin Hoo &lt;robin.hoo@mydigitallife.org.uk&gt;</author>
<category><![CDATA[零碎杂凑]]></category>
<pubDate>Wed, 29 Oct 2008 09:53:33 +0000</pubDate> 
<guid>http://us.mydigitallife.org.uk/post/135/</guid> 
<description>
<![CDATA[ 
	<span style="font-size: medium">说老实话，个人觉得OpenSUSE除了它的GRUB出彩一点，其它的都很一般。所以为了更好的利用这个很酷的启动界面，试着用它创建了Live USB和Live CD。考虑到大多数玩家喜欢Windows多一些，把所有的创建过程移植到了Windows平台。这里先把相关的工具包放出来，之后慢慢说如何启动WINPE和制作或定制Live Ubuntu。顺便把抑制的mkblfont源代码挂上来。有兴趣的朋友可以写个GUI的程序，我比较懒，而且喜欢脚本和命令行多于GUI。抱歉了。关于如何使用工具包，压缩包里有较为详细地说明。<br /><br />Frankly, I think the OpenSUSE nothing better except the GRUB. So in order to take the advantage of this cool boot interface, I tried to establish my Live USB and Live CD based on it. Considering most of buddies like Windows more, I did some work to migrate the whole thing to Windows platform. Here I just release the tool kits and discuss the detail processing of booting WINPE or customerize Live Ubuntu later. BTW, I also put the source code of mkblfont for Windows here. If anyone interesting in writing a GUI tool to cover all those function would be great, since I'm lazy and preffer the script and text mode command line more than GUI. So sorry about NO GUI here. About how to use the tools pack, please reference the readme inside the zip file, it should be clarify most issues.<br /><br /><br /><a href="http://www.mydigitallife.org.uk/attachment/20081028/mkblfont.zip" target="_blank" title="mkblfont Source Code">mkblfont</a>&lt;--源代码[Source Code]<br /><a href="http://www.mydigitallife.org.uk/attachment/20081028/tools.zip" target="_blank" title="Tools Pack">tools</a> &lt;--工具包[Tools Pack]<br /></span><br/>Tags - <a href="http://us.mydigitallife.org.uk/tags/opensuse/" rel="tag">opensuse</a> , <a href="http://us.mydigitallife.org.uk/tags/grub/" rel="tag">grub</a> , <a href="http://us.mydigitallife.org.uk/tags/live/" rel="tag">live</a> , <a href="http://us.mydigitallife.org.uk/tags/usb/" rel="tag">usb</a> , <a href="http://us.mydigitallife.org.uk/tags/cd/" rel="tag">cd</a> , <a href="http://us.mydigitallife.org.uk/tags/ubuntu/" rel="tag">ubuntu</a> , <a href="http://us.mydigitallife.org.uk/tags/gfxmenu/" rel="tag">gfxmenu</a>
]]>
</description>
</item><item>
<link>http://us.mydigitallife.org.uk/post/134/</link>
<title><![CDATA[Ubuntu gfxmenu中文显示的脚本]]></title> 
<author>Robin Hoo &lt;robin.hoo@mydigitallife.org.uk&gt;</author>
<category><![CDATA[零碎杂凑]]></category>
<pubDate>Tue, 28 Oct 2008 05:32:37 +0000</pubDate> 
<guid>http://us.mydigitallife.org.uk/post/134/</guid> 
<description>
<![CDATA[ 
	更新了在Ubuntu上修改gfxmenu中文显示的脚本。有空的时候，将它改成Windows下可以运行的执行文件。<br /><br /><br /><div id="codee_html" style="background-color: #c3d9ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<div style="background: #fdfdfd none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"><u>Bash语言</u>: gfxmenu中文显示脚本</div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<div class="source" style="font-family: &quot;Courier New&quot;,&quot;Lucida Console&quot;,&quot;monospace&quot;; background-color: #c3d9ff"><span style="font-style: italic; color: #008800" class="lineno">01</span> <span style="font-style: italic; color: #008800">#!/bin/bash</span><br /><span style="font-style: italic; color: #008800" class="lineno">02</span> DEBUG=1<br /><span style="font-style: italic; color: #008800" class="lineno">03</span> START_DIR=<span style="color: #0000ff">`</span>pwd<span style="color: #0000ff">`</span><br /><span style="font-style: italic; color: #008800" class="lineno">04</span> <span style="font-style: italic; color: #008800">##定义图形启动包的位置</span><br /><span class="lineno special">05</span> MESSAGE=/boot/message<br /><span style="font-style: italic; color: #008800" class="lineno">06</span> <span style="font-style: italic; color: #008800">##定义字形生成程序位置</span><br /><span style="font-style: italic; color: #008800" class="lineno">07</span> MKBLFONT=mkblfont<br /><span style="font-style: italic; color: #008800" class="lineno">08</span> <span style="font-style: italic; color: #008800">##定义menu.lst位置</span><br /><span style="font-style: italic; color: #008800" class="lineno">09</span> MENU_LST=/boot/grub/menu.lst<br /><span class="lineno special">10</span> <span style="font-style: italic; color: #008800">##定义键盘映射程序位置</span><br /><span style="font-style: italic; color: #008800" class="lineno">11</span> KEYMAPCHARS=/usr/share/gfxboot/bin/keymapchars<br /><span style="font-style: italic; color: #008800" class="lineno">12</span> <span style="font-style: italic; color: #008800">##定义键盘映射表位置</span><br /><span style="font-style: italic; color: #008800" class="lineno">13</span> KEYTABLES=/usr/share/gfxboot-theme-ubuntu/keytables.inc<br /><span style="font-style: italic; color: #008800" class="lineno">14</span> <span style="font-style: italic; color: #008800">##定义临时文件位置</span><br /><span class="lineno special">15</span> TMP_FOLD=message<br /><span style="font-style: italic; color: #008800" class="lineno">16</span> <span style="font-style: italic; color: #008800">##定义字形所用字体</span><br /><span style="font-style: italic; color: #008800" class="lineno">17</span> TTFFont=simli<br /><span style="font-style: italic; color: #008800" class="lineno">18</span> <span style="font-style: italic; color: #008800">##定义字体目录</span><br /><span style="font-style: italic; color: #008800" class="lineno">19</span> TTFPath=/usr/share/fonts/truetype/microsoft<br /><span class="lineno special">20</span> <span style="font-style: italic; color: #008800">##定义界面语言</span><br /><span style="font-style: italic; color: #008800" class="lineno">21</span> LANGUAGE=简体中文<br /><span style="font-style: italic; color: #008800" class="lineno">22</span> <span style="font-style: italic; color: #008800">##定义语言ID</span><br /><span style="font-style: italic; color: #008800" class="lineno">23</span> LANG_ID=zh<br /><span style="font-style: italic; color: #008800" class="lineno">24</span> <span style="font-style: italic; color: #008800">##定义默认启动语言</span><br /><span class="lineno special">25</span> DEF_LANG=zh_CN<br /><span style="font-style: italic; color: #008800" class="lineno">26</span> debug_msg()<br /><span style="font-style: italic; color: #008800" class="lineno">27</span> {<br /><span style="font-style: italic; color: #008800" class="lineno">28</span> &nbsp;&nbsp;&nbsp; [ $DEBUG == 1 ] &amp;&amp; echo <span style="color: #0000ff">&quot;[`date +&quot;</span>%F %T<span style="color: #0000ff">&quot;`] $@&quot;</span> &gt;&amp;2<br /><span style="font-style: italic; color: #008800" class="lineno">29</span> }<br /><span class="lineno special">30</span> <br /><span style="font-style: italic; color: #008800" class="lineno">31</span> install_pkg()<br /><span style="font-style: italic; color: #008800" class="lineno">32</span> {<br /><span style="font-style: italic; color: #008800" class="lineno">33</span> &nbsp;&nbsp;&nbsp; local PKG=<span style="color: #0000ff">`</span>sudo dpkg-query -W --showformat=<span style="color: #0000ff">'${Package}
'</span> &#124;grep $1<span style="color: #0000ff">`</span><br /><span style="font-style: italic; color: #008800" class="lineno">34</span> &nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #000080">if</span> [ -z $PKG ]; <span style="font-weight: bold; color: #000080">then</span><br /><span class="lineno special">35</span> <span style="font-weight: bold; color: #000080">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sudo aptitude install $1 -y<br /><span style="font-style: italic; color: #008800" class="lineno">36</span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; debug_msg <span style="color: #0000ff">&quot;安装软件包 $1&quot;</span><br /><span style="font-style: italic; color: #008800" class="lineno">37</span> &nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #000080">else</span><br /><span style="font-style: italic; color: #008800" class="lineno">38</span> <span style="font-weight: bold; color: #000080">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>debug_msg <span style="color: #0000ff">&quot;软件包 $1 已安装&quot;</span><br /><span style="font-style: italic; color: #008800" class="lineno">39</span> &nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: #000080">fi</span><br /><span class="lineno special">40</span> }<br /><span style="font-style: italic; color: #008800" class="lineno">41</span> install_pkg gfxboot-theme-ubuntu<br /><span style="font-style: italic; color: #008800" class="lineno">42</span> echo $DEF_LANG &gt;lang<br /><span style="font-style: italic; color: #008800" class="lineno">43</span> mkdir $TMP_FOLD 2&gt;/dev/null<br /><span style="font-style: italic; color: #008800" class="lineno">44</span> cd $TMP_FOLD<br /><span class="lineno special">45</span> <span style="font-style: italic; color: #008800">#ls -l $MESSAGE #&gt;/dev/null 2&gt;&amp;1</span><br /><span style="font-style: italic; color: #008800" class="lineno">46</span> <span style="font-weight: bold; color: #000080">if</span> [ -e $MESSAGE ]; <span style="font-weight: bold; color: #000080">then</span><br /><span style="font-style: italic; color: #008800" class="lineno">47</span> <span style="font-weight: bold; color: #000080">&nbsp;&nbsp;&nbsp; </span>cat $MESSAGE &#124;cpio -i<br /><span style="font-style: italic; color: #008800" class="lineno">48</span> <span style="font-weight: bold; color: #000080">else</span><br /><span style="font-style: italic; color: #008800" class="lineno">49</span> <span style="font-weight: bold; color: #000080">&nbsp;&nbsp;&nbsp; </span>echo <span style="color: #0000ff">&quot;抱歉没发现要修改的$MESSAGE&quot;</span><br /><span class="lineno special">50</span> &nbsp;&nbsp;&nbsp; exit<br /><span style="font-style: italic; color: #008800" class="lineno">51</span> <span style="font-weight: bold; color: #000080">fi</span><br /><span style="font-style: italic; color: #008800" class="lineno">52</span> echo $DEF_LANG &gt;lang<br /><span style="font-style: italic; color: #008800" class="lineno">53</span> <span style="font-weight: bold; color: #000080">if</span> [ -e translations.$LANG_ID ]<br /><span style="font-style: italic; color: #008800" class="lineno">54</span> <span style="font-weight: bold; color: #000080">then</span><br /><span class="lineno special">55</span> <span style="font-weight: bold; color: #000080">&nbsp;&nbsp;&nbsp;&nbsp; </span>echo <span style="color: #0000ff">&quot;发现${LANGUAGE}翻译文件!&quot;</span><br /><span style="font-style: italic; color: #008800" class="lineno">56</span> <span style="font-weight: bold; color: #000080">else</span><br /><span style="font-style: italic; color: #008800" class="lineno">57</span> <span style="font-weight: bold; color: #000080">&nbsp;&nbsp;&nbsp; </span>echo <span style="color: #0000ff">&quot;没有${LANGUAGE}的翻译文件，退出！&quot;</span><br /><span style="font-style: italic; color: #008800" class="lineno">58</span> &nbsp;&nbsp;&nbsp; exit<br /><span style="font-style: italic; color: #008800" class="lineno">59</span> <span style="font-weight: bold; color: #000080">fi</span><br /><span class="lineno special">60</span> <span style="font-weight: bold; color: #000080">if </span>grep -q&nbsp; $LANG_ID languages<br /><span style="font-style: italic; color: #008800" class="lineno">61</span> <span style="font-weight: bold; color: #000080">then</span><br /><span style="font-style: italic; color: #008800" class="lineno">62</span> <span style="font-weight: bold; color: #000080">&nbsp;&nbsp; </span>echo <span style="color: #0000ff">&quot;文件languages含有${LANGUAGE}的ID!&quot;</span><br /><span style="font-style: italic; color: #008800" class="lineno">63</span> <span style="font-weight: bold; color: #000080">else</span><br /><span style="font-style: italic; color: #008800" class="lineno">64</span> <span style="font-weight: bold; color: #000080">&nbsp;&nbsp;&nbsp; </span>echo $LANG_ID &gt; tmp.txt<br /><span class="lineno special">65</span> &nbsp;&nbsp;&nbsp; cat tmp.txt languages &gt;languages1<br /><span style="font-style: italic; color: #008800" class="lineno">66</span> &nbsp;&nbsp;&nbsp; mv -f languages1 languages<br /><span style="font-style: italic; color: #008800" class="lineno">67</span> &nbsp;&nbsp;&nbsp; echo <span style="color: #0000ff">&quot;文件languages含有${LANGUAGE}的ID!&quot;</span><br /><span style="font-style: italic; color: #008800" class="lineno">68</span> <span style="font-weight: bold; color: #000080">fi</span><br /><span style="font-style: italic; color: #008800" class="lineno">69</span> cat *.tr translations.* $MENU_LST &gt;tmp.txt<br /><span class="lineno special">70</span> echo $LANGUAGE&gt;&gt; tmp.txt <br /><span style="font-style: italic; color: #008800" class="lineno">71</span> set -x<br /><span style="font-style: italic; color: #008800" class="lineno">72</span> $MKBLFONT -v -l 18 -p /usr/share/fonts/X11/misc <span style="color: #0000ff"></span><br /><span style="font-style: italic; color: #008800" class="lineno">73</span> &nbsp;&nbsp;&nbsp; -c ISO-8859-15 -c ISO-8859-2 -c koi8-r <span style="color: #0000ff"></span><br /><span style="font-style: italic; color: #008800" class="lineno">74</span> &nbsp;&nbsp;&nbsp; <span style="color: #0000ff">`</span>$KEYMAPCHARS $KEYTABLES<span style="color: #0000ff">`</span> <span style="color: #0000ff"></span><br /><span class="lineno special">75</span> &nbsp;&nbsp;&nbsp; -t tmp.txt <span style="color: #0000ff"></span><br /><span style="font-style: italic; color: #008800" class="lineno">76</span> &nbsp;&nbsp;&nbsp; -p $TTFPath <span style="color: #0000ff"></span><br /><span style="font-style: italic; color: #008800" class="lineno">77</span> &nbsp;&nbsp;&nbsp; -f $TTFFont:prop=2:space_width=4:size=17:nobitmap=1:autohint=1 <span style="color: #0000ff"></span><br /><span style="font-style: italic; color: #008800" class="lineno">78</span> &nbsp;&nbsp;&nbsp; 16x16.fnt &gt;16x16.fnt.log<br /><span style="font-style: italic; color: #008800" class="lineno">79</span> set +x<br /><span class="lineno special">80</span> rm -f tmp.txt<br /><span style="font-style: italic; color: #008800" class="lineno">81</span> mv 16x16.fnt.log $START_DIR<br /><span style="font-style: italic; color: #008800" class="lineno">82</span> echo <span style="color: #0000ff">&quot;备份以前文件&quot;</span><br /><span style="font-style: italic; color: #008800" class="lineno">83</span> mv $MESSAGE $MESSAGE.bck<br /><span style="font-style: italic; color: #008800" class="lineno">84</span> ls . &#124;cpio -o &gt; $MESSAGE<br /><span class="lineno special">85</span> cd $START_DIR<br /><span style="font-style: italic; color: #008800" class="lineno">86</span> rm -rf $TMP_FOLD<br /></div>&nbsp;&nbsp;&nbsp;&nbsp; </div><br /><br/>Tags - <a href="http://us.mydigitallife.org.uk/tags/ubuntu/" rel="tag">ubuntu</a> , <a href="http://us.mydigitallife.org.uk/tags/gfxmenu/" rel="tag">gfxmenu</a> , <a href="http://us.mydigitallife.org.uk/tags/%25E4%25B8%25AD%25E6%2596%2587%25E6%2598%25BE%25E7%25A4%25BA/" rel="tag">中文显示</a> , <a href="http://us.mydigitallife.org.uk/tags/%25E8%2584%259A%25E6%259C%25AC/" rel="tag">脚本</a>
]]>
</description>
</item><item>
<link>http://us.mydigitallife.org.uk/post/133/</link>
<title><![CDATA[GFXBOOT菜单中文显示修改脚本]]></title> 
<author>Robin Hoo &lt;robin.hoo@mydigitallife.org.uk&gt;</author>
<category><![CDATA[零碎杂凑]]></category>
<pubDate>Sun, 12 Oct 2008 10:40:07 +0000</pubDate> 
<guid>http://us.mydigitallife.org.uk/post/133/</guid> 
<description>
<![CDATA[ 
	<span style="font-size: medium">很喜欢OpenSUSE的图形化GRUB启动菜单，但是在使用的时候发现，菜单内容不能使中文。搜索后发现图形菜单可以自己修改的，并发现起重新组装的部分可以利用来生成其中关键文件16x16.fnt文件。动手写了个小脚本，保存一下，供以后修改。目前在OpenSUSE上修改成功。Ubuntu下面没有测试过。主要是不知道gfxboot-font和keymapschar文件是否存在。</span><br /><span style="font-style: italic; color: #008800"><br /></span><div id="codee_html" style="background-color: #c3d9ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<div style="background: #fdfdfd none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"><span style="font-size: medium"><u>Bash语言</u>: GFXBOOT菜单中文显示修改脚本</span></div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<div class="source" style="font-family: &quot;[object HTMLOptionElement]&quot;,&quot;monospace&quot;; background-color: #c3d9ff"><span style="font-style: italic; color: #008800" class="lineno">01</span> <span style="font-style: italic; color: #008800">#!/bin/bash</span><br /><span style="font-style: italic; color: #008800" class="lineno">02</span> echo <span style="color: #0000ff">&quot;Please wait for searching the gfxboot-font &amp; keymapchars command available or not ...&quot;</span><br /><span style="font-style: italic; color: #008800" class="lineno">03</span> <span style="font-style: italic; color: #008800">##Define gfxmenu used message</span><br /><span style="font-style: italic; color: #008800" class="lineno">04</span> MESSAGE=/boot/message<br /><span class="lineno special">05</span> <span style="font-style: italic; color: #008800">##Define the gfxboot-font command localtion</span><br /><span style="font-style: italic; color: #008800" class="lineno">06</span> <span style="font-style: italic; color: #008800">#You can manual specify the location </span><br /><span style="font-style: italic; color: #008800" class="lineno">07</span> GFXBOOT_FONT=<span style="color: #0000ff">`</span>find / -name gfxboot-font -type f 2&gt;/dev/null &#124;head -n 1<span style="color: #0000ff">`</span><br /><span style="font-style: italic; color: #008800" class="lineno">08</span> <span style="font-style: italic; color: #008800">##Define keymapschars command location</span><br /><span style="font-style: italic; color: #008800" class="lineno">09</span> KEYMAPCHARS=<span style="color: #0000ff">`</span>find / -name keymapchars -type f 2&gt;/dev/null &#124;head -n 1<span style="color: #0000ff">`</span><br /><span class="lineno special">10</span> <span style="font-style: italic; color: #008800">##Define keymaps directory location</span><br /><span style="font-style: italic; color: #008800" class="lineno">11</span> <span style="font-style: italic; color: #008800">#KEYMAPS=/usr/share/gfxboot/themes/openSUSE/keymaps</span><br /><span style="font-style: italic; color: #008800" class="lineno">12</span> KEYMAPS=<span style="color: #0000ff">`</span>find / -name keymap.cs_CZ.inc -type f 2&gt;/dev/null &#124;head -n 1<span style="color: #0000ff">`</span><br /><span style="font-style: italic; color: #008800" class="lineno">13</span> KEYMAPS=<span style="font-weight: bold; color: #000080">$&#123;</span>KEYMAPS%/keymap.cs_CZ.inc<span style="font-weight: bold; color: #000080">&#125;</span><br /><span style="font-style: italic; color: #008800" class="lineno">14</span> <span style="font-style: italic; color: #008800">##Define temp fold location</span><br /><span class="lineno special">15</span> TMP_FOLD=message<br /><span style="font-style: italic; color: #008800" class="lineno">16</span> <span style="font-style: italic; color: #008800">##Define langauge need font name</span><br /><span style="font-style: italic; color: #008800" class="lineno">17</span> TTFFont=ukai<br /><span style="font-style: italic; color: #008800" class="lineno">18</span> <span style="font-style: italic; color: #008800">##Define langauge will show on the boot menu</span><br /><span style="font-style: italic; color: #008800" class="lineno">19</span> LANGUAGE=简体中文<br /><span class="lineno special">20</span> <span style="font-style: italic; color: #008800">##Define language ID will add into languages</span><br /><span style="font-style: italic; color: #008800" class="lineno">21</span> LANG_ID=zh<br /><span style="font-style: italic; color: #008800" class="lineno">22</span> <span style="font-style: italic; color: #008800">##Define default boot menu language ID</span><br /><span style="font-style: italic; color: #008800" class="lineno">23</span> DEF_LANG=zh_CN<br /><span style="font-style: italic; color: #008800" class="lineno">24</span> mkdir $TMP_FOLD<br /><span class="lineno special">25</span> cd $TMP_FOLD<br /><span style="font-style: italic; color: #008800" class="lineno">26</span> cat $MESSAGE &#124;cpio -i<br /><span style="font-style: italic; color: #008800" class="lineno">27</span> echo $DEF_LANG &gt;lang<br /><span style="font-style: italic; color: #008800" class="lineno">28</span> echo <span style="color: #0000ff">&quot;File lang is ready!&quot;</span><br /><span style="font-style: italic; color: #008800" class="lineno">29</span> <span style="font-weight: bold; color: #000080">if</span> [ -e translations.$LANG_ID ]<br /><span class="lineno special">30</span> <span style="font-weight: bold; color: #000080">then</span><br /><span style="font-style: italic; color: #008800" class="lineno">31</span> <span style="font-weight: bold; color: #000080">&nbsp;&nbsp;&nbsp; </span>echo <span style="color: #0000ff">&quot;File translations.$LANG_ID is ready!&quot;</span><br /><span style="font-style: italic; color: #008800" class="lineno">32</span> <span style="font-weight: bold; color: #000080">else</span><br /><span style="font-style: italic; color: #008800" class="lineno">33</span> <span style="font-weight: bold; color: #000080">&nbsp;&nbsp;&nbsp; </span>echo <span style="color: #0000ff">&quot;Sorry the translation file is not there! Quiting...&quot;</span><br /><span style="font-style: italic; color: #008800" class="lineno">34</span> &nbsp;&nbsp;&nbsp; exit<br /><span class="lineno special">35</span> <span style="font-weight: bold; color: #000080">fi</span><br /><span style="font-style: italic; color: #008800" class="lineno">36</span> <span style="font-weight: bold; color: #000080">if </span>grep -q&nbsp; $LANG_ID languages<br /><span style="font-style: italic; color: #008800" class="lineno">37</span> <span style="font-weight: bold; color: #000080">then</span><br /><span style="font-style: italic; color: #008800" class="lineno">38</span> <span style="font-weight: bold; color: #000080">&nbsp;&nbsp;&nbsp; </span>echo <span style="color: #0000ff">&quot;File languages is ready!&quot;</span><br /><span style="font-style: italic; color: #008800" class="lineno">39</span> <span style="font-weight: bold; color: #000080">else</span><br /><span class="lineno special">40</span> <span style="font-weight: bold; color: #000080">&nbsp;&nbsp;&nbsp; </span>echo $LANG_ID &gt; tmp.txt<br /><span style="font-style: italic; color: #008800" class="lineno">41</span> &nbsp;&nbsp;&nbsp; cat tmp.txt languages &gt;languages1<br /><span style="font-style: italic; color: #008800" class="lineno">42</span> &nbsp;&nbsp;&nbsp; cp -f languages1 languages<br /><span style="font-style: italic; color: #008800" class="lineno">43</span> &nbsp;&nbsp;&nbsp; rm -f languages1<br /><span style="font-style: italic; color: #008800" class="lineno">44</span> &nbsp;&nbsp;&nbsp; echo <span style="color: #0000ff">&quot;File languages is ready!&quot;</span><br /><span class="lineno special">45</span> <span style="font-weight: bold; color: #000080">fi</span><br /><span style="font-style: italic; color: #008800" class="lineno">46</span> cat *.tr translations.* pabout.txt /boot/grub/menu.lst &gt;tmp.txt<br /><span style="font-style: italic; color: #008800" class="lineno">47</span> echo $LANGUAGE&gt;&gt; tmp.txt <br /><span style="font-style: italic; color: #008800" class="lineno">48</span> $GFXBOOT_FONT -v -l 18 <span style="color: #0000ff"></span><br /><span style="font-style: italic; color: #008800" class="lineno">49</span> &nbsp;&nbsp;&nbsp; -c ISO-8859-15 -c ISO-8859-2 -c koi8 -c utf8 -r <span style="color: #0000ff"></span><br /><span class="lineno special">50</span> &nbsp;&nbsp;&nbsp; <span style="color: #0000ff">`</span>$KEYMAPCHARS $KEYMAPS/keymap.*.inc<span style="color: #0000ff">`</span> <span style="color: #0000ff"></span><br /><span style="font-style: italic; color: #008800" class="lineno">51</span> &nbsp;&nbsp;&nbsp; -t tmp.txt <span style="color: #0000ff"></span><br /><span style="font-style: italic; color: #008800" class="lineno">52</span> &nbsp;&nbsp;&nbsp; -t languages <span style="color: #0000ff"></span><br /><span style="font-style: italic; color: #008800" class="lineno">53</span> &nbsp;&nbsp;&nbsp; -f NachlieliCLM-Bold:size=14:c=0x590-0x5ff <span style="color: #0000ff"></span><br /><span style="font-style: italic; color: #008800" class="lineno">54</span> &nbsp;&nbsp;&nbsp; -f KacstOne:size=14:c=0x600-0x6ff,0xfe70-0xfefc:dy=2 <span style="color: #0000ff"></span><br /><span class="lineno special">55</span> &nbsp;&nbsp;&nbsp; -f MuktiNarrow:size=18:c=0x0981-0x09fa:bold=1 <span style="color: #0000ff"></span><br /><span style="font-style: italic; color: #008800" class="lineno">56</span> &nbsp;&nbsp;&nbsp; -f lohit_hi:size=18:c=0x0901-0x0970:bold=1 <span style="color: #0000ff"></span><br /><span style="font-style: italic; color: #008800" class="lineno">57</span> &nbsp;&nbsp;&nbsp; -f lohit_pa:size=19:c=0x0a01-0x0a74:bold=1:autohint=1 <span style="color: #0000ff"></span><br /><span style="font-style: italic; color: #008800" class="lineno">58</span> &nbsp;&nbsp;&nbsp; -f lohit_gu:size=18:c=0x0a81-0x0af1:bold=1 <span style="color: #0000ff"></span><br /><span style="font-style: italic; color: #008800" class="lineno">59</span> &nbsp;&nbsp;&nbsp; -f TSCu_Paranar:size=18:c=0x0b82-0x0bfa:dy=2:bold=1 <span style="color: #0000ff"></span><br /><span class="lineno special">60</span> &nbsp;&nbsp;&nbsp; -f lklug:size=17:c=0x0d82-0x0df4:bold=1:dy=1 <span style="color: #0000ff"></span><br /><span style="font-style: italic; color: #008800" class="lineno">61</span> &nbsp;&nbsp;&nbsp; -f Loma:size=17:c=0x0e01-0x0e7f:bold=0:dy=-2 <span style="color: #0000ff"></span><br /><span style="font-style: italic; color: #008800" class="lineno">62</span> &nbsp;&nbsp;&nbsp; -f KhmerOS_sys:size=16:c=0x1780-0x17f9:dy=-2 <span style="color: #0000ff"></span><br /><span style="font-style: italic; color: #008800" class="lineno">63</span> &nbsp;&nbsp;&nbsp; -f DejaVuSans-Bold:size=14 <span style="color: #0000ff"></span><br /><span style="font-style: italic; color: #008800" class="lineno">64</span> &nbsp;&nbsp;&nbsp; -f $TTFFont:size=17:nobitmap=1:autohint=1 <span style="color: #0000ff"></span><br /><span class="lineno special">65</span> &nbsp;&nbsp;&nbsp; -f gulim:size=17:bold=1:nobitmap=1:autohint=1 <span style="color: #0000ff"></span><br /><span style="font-style: italic; color: #008800" class="lineno">66</span> &nbsp;&nbsp;&nbsp; 16x16.fnt &gt;16x16.fnt.log<br /><span style="font-style: italic; color: #008800" class="lineno">67</span> echo <span style="color: #0000ff">&quot;File 16x16.fnt is ready!&quot;</span><br /><span style="font-style: italic; color: #008800" class="lineno">68</span> rm -f tmp.txt<br /><span style="font-style: italic; color: #008800" class="lineno">69</span> mv 16x16.fnt.log ../<br /><span class="lineno special">70</span> echo <span style="color: #0000ff">&quot;Making backup...&quot;</span><br /><span style="font-style: italic; color: #008800" class="lineno">71</span> cp $MESSAGE $MESSAGE.bck<br /><span style="font-style: italic; color: #008800" class="lineno">72</span> ls . &#124;cpio -o &gt; $MESSAGE<br /><span style="font-style: italic; color: #008800" class="lineno">73</span> echo <span style="color: #0000ff">&quot;Please clear the tmp directory message!&quot;</span><br /></div>&nbsp;&nbsp;&nbsp;&nbsp; </div><br /><br/>Tags - <a href="http://us.mydigitallife.org.uk/tags/gfxboot/" rel="tag">gfxboot</a> , <a href="http://us.mydigitallife.org.uk/tags/%25E8%258F%259C%25E5%258D%2595/" rel="tag">菜单</a> , <a href="http://us.mydigitallife.org.uk/tags/%25E4%25B8%25AD%25E6%2596%2587%25E6%2598%25BE%25E7%25A4%25BA/" rel="tag">中文显示</a> , <a href="http://us.mydigitallife.org.uk/tags/%25E4%25BF%25AE%25E6%2594%25B9%25E8%2584%259A%25E6%259C%25AC/" rel="tag">修改脚本</a> , <a href="http://us.mydigitallife.org.uk/tags/opensuse/" rel="tag">opensuse</a> , <a href="http://us.mydigitallife.org.uk/tags/ubuntu/" rel="tag">ubuntu</a>
]]>
</description>
</item><item>
<link>http://us.mydigitallife.org.uk/post/132/</link>
<title><![CDATA[思维体操——寻找质数]]></title> 
<author>Robin Hoo &lt;robin.hoo@mydigitallife.org.uk&gt;</author>
<category><![CDATA[零碎杂凑]]></category>
<pubDate>Thu, 25 Sep 2008 11:16:15 +0000</pubDate> 
<guid>http://us.mydigitallife.org.uk/post/132/</guid> 
<description>
<![CDATA[ 
	<br/>Tags - <a href="http://us.mydigitallife.org.uk/tags/%25E6%2580%259D%25E7%25BB%25B4%25E4%25BD%2593%25E6%2593%258D/" rel="tag">思维体操</a> , <a href="http://us.mydigitallife.org.uk/tags/%25E8%25B4%25A8%25E6%2595%25B0/" rel="tag">质数</a> , <a href="http://us.mydigitallife.org.uk/tags/%25E7%25AE%2597%25E6%25B3%2595/" rel="tag">算法</a> , <a href="http://us.mydigitallife.org.uk/tags/%25E5%25B9%25B6%25E5%258F%2591%25E7%25BA%25BF%25E7%25A8%258B/" rel="tag">并发线程</a> , <a href="http://us.mydigitallife.org.uk/tags/c%25E8%25AF%25AD%25E8%25A8%2580/" rel="tag">c语言</a>
]]>
</description>
</item><item>
<link>http://us.mydigitallife.org.uk/post/131/</link>
<title><![CDATA[研究称宇宙年龄超想像 可能经历多次大爆炸]]></title> 
<author>Robin Hoo &lt;robin.hoo@mydigitallife.org.uk&gt;</author>
<category><![CDATA[自然科学]]></category>
<pubDate>Wed, 24 Sep 2008 09:30:52 +0000</pubDate> 
<guid>http://us.mydigitallife.org.uk/post/131/</guid> 
<description>
<![CDATA[ 
	<div align="center">http://www.sina.com.cn 2006年05月19日 18:36 <span style="color: #a20010">北京科技报</span></div><span class="f14"><!-- 正文内部文字导航 : begin --><!-- 正文内部文字导航 : end --><div style="text-align: center"><a href="http://www.mydigitallife.org.uk/images/20080924/U68P2T1D946982F13DT20060519183835.jpg" class="highslide" onclick="return hs.expand(this)"><img style="margin-bottom: 5px" src="http://www.mydigitallife.org.uk/images/20080924/U68P2T1D946982F13DT20060519183835.jpg" border="1" alt="科技时代_研究称宇宙年龄超想像 可能经历多次大爆炸" width="450" height="300" /></a></div></span><div align="center"><span class="f14"><span class="title12">研究称宇宙可能经历多次大爆炸</span></span><br /></div><span class="f14"><span class="title12"><br /></span><div align="left"><span style="font-size: medium">　　宇宙大爆炸理论是俄裔美国科学家伽莫夫在1948年提出来的。这个理论认为，宇宙开始是个高温致密的火球，它不断地向各个方向迅速膨胀。当温度和密度降低到一定程度，这个火球发生了剧烈的核聚变反应。随着温度和密度的降低，宇宙早期存在的微粒在引力作用下不断聚集，最后逐渐形成今天宇宙中的各种天体。</span></div></span><div align="left"><!--NEWSZW_HZH_BEGIN--></div><div align="left"><!--NEWSZW_HZH_END--></div><span class="f14"><p align="left"><span style="font-size: medium">　　这一理论体系被称为&ldquo;宇宙大爆炸模型&rdquo;，与DNA双螺旋模型、地球板块模型、夸克模型一起，被认为是20世纪科学中最重要的四个模型。</span></p></span><span class="f14"><p align="left"><span style="font-size: medium">　　宇宙始于何时？将止于何时？这是宇宙留给人类最为神秘，也最难解释的谜题。虽然宇宙大爆炸说已经深入人心，人们已经默认了宇宙诞生于近140亿年前的一次大爆炸中，宇宙万物、星系、地球、生命都是在大爆炸之后逐渐形成的。然而，在这个理论出世之后，很多人也提出了另外一个问题：在宇宙大爆炸之前发生了什么？5月5 日《科学》杂志上发表的一篇研究论文称解答了这个让科学家们为之争论不休的谜题。美国普林斯顿大学的波尔&middot;施泰恩加德和英国剑桥大学的尼尔&middot;图尔克这两名理论物理学家在这篇论文里共同提出了一个理论，即宇宙大爆炸发生了不止一次，宇宙一直经历着&ldquo;生死轮回&rdquo;的过程，而我们所认为的140亿年前的宇宙大爆炸并非宇宙诞生的绝对起点，那只是宇宙的一次新生。</span></p></span><span class="f14"><p align="left"><span style="font-size: medium">　　<strong>谁让宇宙加速膨胀</strong></span></p></span><span class="f14"><p align="left"><span style="font-size: medium">　　让科学家们注意到宇宙大爆炸不仅只有一次的是被科学家抛弃后又重新拾起的&ldquo;宇宙常量&rdquo;。所谓宇宙常量，是对真空中的能量的数学表述，并用希腊字母的第11个字母&ldquo;拉姆达&rdquo;表示，这种能量也被认为是神秘的&ldquo;暗能量&rdquo;，而这种神秘能量正在让宇宙不断加速膨胀。</span></p></span><span class="f14"><p align="left"><span style="font-size: medium">　　美国太空网5月8日对英美科学家这一研究的报道中称，当初爱因斯坦首次提出宇宙常量时，是想证明在宇宙间存在一种能量抗衡着星体间的重力作用，使得各星体不会因为相互的吸引而合到一起，最终让整个宇宙的物质都融合成一体，因此他也想证明宇宙是静止的，没有生长也没有萎缩。但没过多久，爱因斯坦就抛弃了这个理论，他称自己犯下了一生&ldquo;最大的错误&rdquo;。因为经他自己的广义相对论公式的计算，宇宙正在膨胀，而天文学家埃德温-哈勃经过观察也证实了宇宙确实在膨胀。</span></p></span><span class="f14"><p align="left"><span style="font-size: medium">　　20世纪90年代末期，&ldquo;拉姆达&rdquo;被科学家们重新拾起，这时一些天文学家发现宇宙不仅仅在膨胀，而且速度正在加快，科学家们不知道是什么样的神秘力量导致了这一结果，于是&ldquo;暗能量&rdquo;这个词便产生了。并且科学家们认为&ldquo;暗能量&rdquo;就是宇宙常量&ldquo;拉姆达&rdquo;，在宇宙大爆炸后&ldquo;拉姆达&rdquo;没有和重力&ldquo;平分天下&rdquo;，保持宇宙的平衡，而是从重力手中夺权，使星体间越来越远，宇宙不断膨胀。</span></p></span><span class="f14"><p align="left"><span style="font-size: medium">　　<strong>宇宙常量应该几何</strong></span></p></span><span class="f14"><p align="left"><span style="font-size: medium">　　宇宙常量该有多大，这是宇宙大爆炸发生次数的关键。美英科学家波尔&middot;施泰恩加德和尼尔&middot;图尔克就是在对宇宙常量的大小计算中发现了宇宙大爆炸不应该只发生了一次。</span></p></span><span class="f14"><p align="left"><span style="font-size: medium">　　科学界一直都试图解释的一个问题是为什么自然界中的那么多常量的值都是那么正好，刚好让生命存在。如果&ldquo;拉姆达&rdquo;太大，那么宇宙就会在大爆炸后立刻迅速膨胀并撑破，就像吹爆的气球，那么生命就不可能在百亿年后存在了。 波尔教授在接受太空网的采访中说：&ldquo;&lsquo;拉姆达&rsquo;的值是物理学中最神秘的事物之一。它让我们非常的迷惑。&rdquo;甚至科学界出现了&ldquo;人择原理&rdquo;，即宇宙常量恰当地选择了人类生存，而人类也恰好选择了在这样一个常量条件下出现，而人类又回头研究着为什么宇宙常量大小会刚好让人类生存。这听起来确实不可思议，尼尔教授称：&ldquo;这简直太糟了，真的该被抛弃了。这个理论就是想说明人类永远不会了解宇宙的奥秘，这就是我们的生存之道。&rdquo;</span></p></span><span class="f14"><p align="left"><span style="font-size: medium">　　为了找到&ldquo;人择原理&rdquo;之外合理的解释，两位科学家利用宇宙大爆炸模型计算宇宙常量，但得到的结果要比实际观测到的宇宙常量大得多，是实际值的10的100次方倍，也就是根本不适合现在宇宙中的生命生存。宇宙常量的大小说到底还关系到人类的生存。因此波尔教授和尼尔教授认为在宇宙大爆炸后宇宙常量(也就是&ldquo;暗能量&rdquo;)都会随着时间的推移而减弱。但是经过进一步的计算后，他们发现140亿年根本不够将爆炸后的值减弱的现在这个值。剑桥大学的尼尔教授说：&ldquo;人们认为时间开始于那次大爆炸，但从没有一个合理的解释。而我们的推论看起来就非常的激进：在宇宙大爆炸之前是存在时间的。&rdquo;</span></p></span><span class="f14"><p align="left"><span style="font-size: medium">　　<strong>大爆炸不止一次发生 宇宙年龄超乎科学家想像</strong></span></p></span><span class="f14"><p align="left"><span style="font-size: medium">　　两位科学家的理论颠覆了人们的&ldquo;常识&rdquo;，在人们常常猜想时间将止于何时的时候，他们又告诉了人们时间没有起点。既然&ldquo;拉姆达&rdquo;的值在近140亿年中减弱到现在这个适合生命存在的值，那么，两位科学家就想到了宇宙大爆炸也许发生了不止一次，每一次的大爆炸都让宇宙常量有所减弱。在产生了现在我们生活的这个宇宙之前，很可能是在万亿年中宇宙大爆炸发生了很多次。尼尔教授说：&ldquo;我想，宇宙的年龄可能远远大于万亿年。时间没有开始，根据我们的理论宇宙的年龄是无限大的，而宇宙范围也是无限大的。&rdquo;</span></p></span><span class="f14"><p align="left"><span style="font-size: medium">　　在2002年，这两位科学家就提出了宇宙进化经历着&ldquo;生死轮回&rdquo;这个观点。宇宙就是在一次次大爆炸后重生，在每一次的&ldquo;轮回&rdquo;中，宇宙都在膨胀中消耗原有的物质，在宇宙常量减弱的同时也产生了一些新的粒子，直到另一次的大爆炸到来，然后新的粒子又形成了新的物质、天体乃至生命。</span></p></span><span class="f14"><p align="left"><span style="font-size: medium">　　如果这两位科学家的假设是正确的，那么下一次的大爆炸将在什么时候到来？尼尔教授说：&ldquo;不论计算多么准确，我们都无法预料下一次大爆炸的时间，但我们可以说的是，下一次的大爆炸不会在之后的100亿年内发生。&rdquo; </span></p></span><div class="highslide-caption" id="the-caption">    <a href="#" onclick="return hs.previous(this)" class="control" style="float:left; display: block"><img src="plugin/highslide/graphics/prev.png" title="上一个" border="0"></a>	<a href="#" onclick="return hs.next(this)" class="control" style="float:left; display: block; text-align: right;"><img src="plugin/highslide/graphics/next.png" title="下一个" border="0"></a>    <a href="#" onclick="return hs.close(this)" class="control"><img src="plugin/highslide/graphics/close.png" title="关闭" border="0"></a>    <a href="#" onclick="return false" class="highslide-move control"><img src="plugin/highslide/graphics/move.png" title="移动" border="0"></a>    <div style="clear:both"></div>	</div><br/>Tags - <a href="http://us.mydigitallife.org.uk/tags/%25E5%25AE%2587%25E5%25AE%2599%25E5%25B9%25B4%25E9%25BE%2584/" rel="tag">宇宙年龄</a> , <a href="http://us.mydigitallife.org.uk/tags/%25E5%25A4%25A7%25E7%2588%2586%25E7%2582%25B8/" rel="tag">大爆炸</a> , <a href="http://us.mydigitallife.org.uk/tags/%25E6%259A%2597%25E8%2583%25BD%25E9%2587%258F/" rel="tag">暗能量</a> , <a href="http://us.mydigitallife.org.uk/tags/%25E5%25AE%2587%25E5%25AE%2599%25E5%25B8%25B8%25E9%2587%258F/" rel="tag">宇宙常量</a> , <a href="http://us.mydigitallife.org.uk/tags/%25E5%25AE%2587%25E5%25AE%2599%25E8%25AF%259E%25E7%2594%259F/" rel="tag">宇宙诞生</a> , <a href="http://us.mydigitallife.org.uk/tags/%25E5%25AE%2587%25E5%25AE%2599/" rel="tag">宇宙</a>
]]>
</description>
</item><item>
<link>http://us.mydigitallife.org.uk/post/130/</link>
<title><![CDATA[新研究称大爆炸前还存在一个孪生宇宙]]></title> 
<author>Robin Hoo &lt;robin.hoo@mydigitallife.org.uk&gt;</author>
<category><![CDATA[自然科学]]></category>
<pubDate>Wed, 24 Sep 2008 07:06:26 +0000</pubDate> 
<guid>http://us.mydigitallife.org.uk/post/130/</guid> 
<description>
<![CDATA[ 
	<div id="artibodyTitle" align="center">http://www.sina.com.cn 2008年04月11日 07:16 <span style="color: #a20010">新浪科技</span></div><!--正文内容开始--><!-- google_ad_section_start --><div id="artibody" class="artibody"><!-- 正文内部文字导航 : begin --><!-- 正文内部文字导航 : end --><p align="center"><a href="http://www.mydigitallife.org.uk/images/20080924/U1235P2T1D1057345F13DT20060727070822.jpg" class="highslide" onclick="return hs.expand(this)"><img style="margin-bottom: 5px; border: #000000 1px solid" src="http://www.mydigitallife.org.uk/images/20080924/U1235P2T1D1057345F13DT20060727070822.jpg" border="0" alt="新研究称大爆炸前还存在一个孪生宇宙(图)" width="340" height="240" /></a><br /><span style="font-size: 12px" class="title12">宇宙大爆炸示意图</span></p><p><span style="font-size: medium">　　新浪科技讯 北京时间4月11日消息，据国外媒体报道，对于有关&ldquo;大爆炸&rdquo;以及&ldquo;大爆炸&rdquo;之前宇宙状况的一些问题，爱因斯坦的广义相对论也无法解释，科学家也仅仅是提出形形色色的假说。日前，研究人员报告称，在当前宇宙之前还存在另一个宇宙，它们具有诸多相似之处，堪称一对双胞胎！</span></p><p><span style="font-size: medium"><strong>　　&ldquo;宇宙健忘症&rdquo;</strong></span></p><p><span style="font-size: medium">　　过去几年，一种称为&ldquo;圈量子引力&rdquo;(Loop Quantum Gravity)的新理论浮出水面。圈量子引力论提出了&ldquo;量子反弹&rdquo;的可能性，即在当前宇宙之前还存在一个宇宙，我们的宇宙就诞生于那个宇宙的崩溃。但是，