<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>GCCFeli.cn &#187; 最小生成树</title> <atom:link href="http://gccfeli.cn/tag/%e6%9c%80%e5%b0%8f%e7%94%9f%e6%88%90%e6%a0%91/feed" rel="self" type="application/rss+xml" /><link>http://gccfeli.cn</link> <description></description> <lastBuildDate>Thu, 14 Jul 2011 08:18:00 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.1</generator> <atom:link rel='hub' href='http://gccfeli.cn/?pushpress=hub'/> <item><title>平面三角剖分</title><link>http://gccfeli.cn/2008/02/delaunay-triangulation.html</link> <comments>http://gccfeli.cn/2008/02/delaunay-triangulation.html#comments</comments> <pubDate>Sat, 23 Feb 2008 12:33:47 +0000</pubDate> <dc:creator>Felicia</dc:creator> <category><![CDATA[标程]]></category> <category><![CDATA[计算几何]]></category> <category><![CDATA[平面三角剖分]]></category> <category><![CDATA[最小生成树]]></category><guid
isPermaLink="false">http://www.gccfeli.cn/?p=132</guid> <description><![CDATA[<p>给出平面上的一个点集，求该点集的三角剖分。</p><p>此程序是利用平面三角剖分求平面欧几里德最小生成树。可以证明，平面欧几里德最小生成树的树边一定在平面三角剖分的边中。经过 LiZhiXu 的精心简化，已经达到能在现场赛中输入的程度了</p><p>下面是代码</p> <span
class="readmore"><a
href="http://gccfeli.cn/2008/02/delaunay-triangulation.html" title="平面三角剖分">阅读全文（4767字）</a></span>]]></description> <content:encoded><![CDATA[<p>给出平面上的一个点集，求该点集的三角剖分。</p><p>此程序是利用平面三角剖分求平面欧几里德最小生成树。可以证明，平面欧几里德最小生成树的树边一定在平面三角剖分的边中。经过 LiZhiXu 的精心简化，已经达到能在现场赛中输入的程度了</p><p>下面是代码</p><div
class="hl-wrapper"><div
class="hl-title">&#19979;&#36733;: <a
href="http://gccfeli.cn/wp-content/plugins/coolcode/coolcode.php?p=132&amp;download=Delaunay.cpp">Delaunay.cpp</a></div><div
class="hl-surround"><div
class="hl-main"><span
class="hl-prepro">#include </span><span
class="hl-quotes">&lt;</span><span
class="hl-string">iostream</span><span
class="hl-quotes">&gt;</span><span
class="hl-prepro"></span><span
class="hl-code"><br
/></span><span
class="hl-prepro">#include </span><span
class="hl-quotes">&lt;</span><span
class="hl-string">cmath</span><span
class="hl-quotes">&gt;</span><span
class="hl-prepro"></span><span
class="hl-code"><br
/></span><span
class="hl-reserved">using</span><span
class="hl-code"> </span><span
class="hl-types">namespace</span><span
class="hl-code"> </span><span
class="hl-identifier">std</span><span
class="hl-code">;<br
/>&nbsp;<br
/></span><span
class="hl-prepro">#define</span><span
class="hl-code"> </span><span
class="hl-identifier">Oi</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">((</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">oi</span><span
class="hl-brackets">)</span><span
class="hl-prepro"></span><span
class="hl-code"><br
/></span><span
class="hl-prepro">#define</span><span
class="hl-code"> </span><span
class="hl-identifier">Dt</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">((</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dt</span><span
class="hl-brackets">)</span><span
class="hl-prepro"></span><span
class="hl-code"><br
/></span><span
class="hl-prepro">#define</span><span
class="hl-code"> </span><span
class="hl-identifier">On</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">((</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">on</span><span
class="hl-brackets">)</span><span
class="hl-prepro"></span><span
class="hl-code"><br
/></span><span
class="hl-prepro">#define</span><span
class="hl-code"> </span><span
class="hl-identifier">Op</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">((</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">op</span><span
class="hl-brackets">)</span><span
class="hl-prepro"></span><span
class="hl-code"><br
/></span><span
class="hl-prepro">#define</span><span
class="hl-code"> </span><span
class="hl-identifier">Dn</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">((</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dn</span><span
class="hl-brackets">)</span><span
class="hl-prepro"></span><span
class="hl-code"><br
/></span><span
class="hl-prepro">#define</span><span
class="hl-code"> </span><span
class="hl-identifier">Dp</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">((</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dp</span><span
class="hl-brackets">)</span><span
class="hl-prepro"></span><span
class="hl-code"><br
/></span><span
class="hl-prepro">#define</span><span
class="hl-code"> </span><span
class="hl-identifier">Other</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-code">, </span><span
class="hl-identifier">p</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">((</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">oi</span><span
class="hl-code"> == </span><span
class="hl-identifier">p</span><span
class="hl-code"> ? </span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dt</span><span
class="hl-code"> : </span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">oi</span><span
class="hl-brackets">)</span><span
class="hl-prepro"></span><span
class="hl-code"><br
/></span><span
class="hl-prepro">#define</span><span
class="hl-code"> </span><span
class="hl-identifier">Next</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-code">, </span><span
class="hl-identifier">p</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">((</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">oi</span><span
class="hl-code"> == </span><span
class="hl-identifier">p</span><span
class="hl-code"> ? </span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">on</span><span
class="hl-code"> : </span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dn</span><span
class="hl-brackets">)</span><span
class="hl-prepro"></span><span
class="hl-code"><br
/></span><span
class="hl-prepro">#define</span><span
class="hl-code"> </span><span
class="hl-identifier">Prev</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-code">, </span><span
class="hl-identifier">p</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">((</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">oi</span><span
class="hl-code"> == </span><span
class="hl-identifier">p</span><span
class="hl-code"> ? </span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">op</span><span
class="hl-code"> : </span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dp</span><span
class="hl-brackets">)</span><span
class="hl-prepro"></span><span
class="hl-code"><br
/></span><span
class="hl-prepro">#define</span><span
class="hl-code"> </span><span
class="hl-identifier">V</span><span
class="hl-brackets">(</span><span
class="hl-identifier">p1</span><span
class="hl-code">, </span><span
class="hl-identifier">p2</span><span
class="hl-code">, </span><span
class="hl-identifier">u</span><span
class="hl-code">, </span><span
class="hl-identifier">v</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">(</span><span
class="hl-identifier">u</span><span
class="hl-code"> = </span><span
class="hl-identifier">p2</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">x</span><span
class="hl-code"> - </span><span
class="hl-identifier">p1</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">x</span><span
class="hl-code">, </span><span
class="hl-identifier">v</span><span
class="hl-code"> = </span><span
class="hl-identifier">p2</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">y</span><span
class="hl-code"> - </span><span
class="hl-identifier">p1</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">y</span><span
class="hl-brackets">)</span><span
class="hl-prepro"></span><span
class="hl-code"><br
/></span><span
class="hl-prepro">#define</span><span
class="hl-code"> </span><span
class="hl-identifier">C2</span><span
class="hl-brackets">(</span><span
class="hl-identifier">u1</span><span
class="hl-code">, </span><span
class="hl-identifier">v1</span><span
class="hl-code">, </span><span
class="hl-identifier">u2</span><span
class="hl-code">, </span><span
class="hl-identifier">v2</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">(</span><span
class="hl-identifier">u1</span><span
class="hl-code"> * </span><span
class="hl-identifier">v2</span><span
class="hl-code"> - </span><span
class="hl-identifier">v1</span><span
class="hl-code"> * </span><span
class="hl-identifier">u2</span><span
class="hl-brackets">)</span><span
class="hl-prepro"></span><span
class="hl-code"><br
/></span><span
class="hl-prepro">#define</span><span
class="hl-code"> </span><span
class="hl-identifier">C3</span><span
class="hl-brackets">(</span><span
class="hl-identifier">p1</span><span
class="hl-code">, </span><span
class="hl-identifier">p2</span><span
class="hl-code">, </span><span
class="hl-identifier">p3</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">((</span><span
class="hl-identifier">p2</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">x</span><span
class="hl-code"> - </span><span
class="hl-identifier">p1</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">x</span><span
class="hl-brackets">)</span><span
class="hl-code"> * </span><span
class="hl-brackets">(</span><span
class="hl-identifier">p3</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">y</span><span
class="hl-code"> - </span><span
class="hl-identifier">p1</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">y</span><span
class="hl-brackets">)</span><span
class="hl-code"> - </span><span
class="hl-brackets">(</span><span
class="hl-identifier">p2</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">y</span><span
class="hl-code"> - </span><span
class="hl-identifier">p1</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">y</span><span
class="hl-brackets">)</span><span
class="hl-code"> * </span><span
class="hl-brackets">(</span><span
class="hl-identifier">p3</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">x</span><span
class="hl-code"> - </span><span
class="hl-identifier">p1</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">x</span><span
class="hl-brackets">))</span><span
class="hl-prepro"></span><span
class="hl-code"><br
/></span><span
class="hl-prepro">#define</span><span
class="hl-code"> </span><span
class="hl-identifier">Dot</span><span
class="hl-brackets">(</span><span
class="hl-identifier">u1</span><span
class="hl-code">, </span><span
class="hl-identifier">v1</span><span
class="hl-code">, </span><span
class="hl-identifier">u2</span><span
class="hl-code">, </span><span
class="hl-identifier">v2</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">(</span><span
class="hl-identifier">u1</span><span
class="hl-code"> * </span><span
class="hl-identifier">u2</span><span
class="hl-code"> + </span><span
class="hl-identifier">v1</span><span
class="hl-code"> * </span><span
class="hl-identifier">v2</span><span
class="hl-brackets">)</span><span
class="hl-prepro"></span><span
class="hl-code"><br
/>&nbsp;<br
/></span><span
class="hl-prepro">#define</span><span
class="hl-code"> </span><span
class="hl-identifier">MAXN</span><span
class="hl-code"> </span><span
class="hl-number">100001</span><span
class="hl-prepro"></span><span
class="hl-code"><br
/>&nbsp;<br
/></span><span
class="hl-types">struct</span><span
class="hl-code"> </span><span
class="hl-identifier">point</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">x</span><span
class="hl-code">, </span><span
class="hl-identifier">y</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-types">struct</span><span
class="hl-code"> </span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">in</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-types">bool</span><span
class="hl-code"> </span><span
class="hl-reserved">operator</span><span
class="hl-code"> &lt; </span><span
class="hl-brackets">(</span><span
class="hl-types">const</span><span
class="hl-code"> </span><span
class="hl-identifier">point</span><span
class="hl-code"> &amp;</span><span
class="hl-identifier">p1</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-types">const</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">return</span><span
class="hl-code"> </span><span
class="hl-identifier">x</span><span
class="hl-code"> &lt; </span><span
class="hl-identifier">p1</span><span
class="hl-code">.</span><span
class="hl-identifier">x</span><span
class="hl-code"> || </span><span
class="hl-brackets">(</span><span
class="hl-identifier">x</span><span
class="hl-code"> == </span><span
class="hl-identifier">p1</span><span
class="hl-code">.</span><span
class="hl-identifier">x</span><span
class="hl-code"> &amp;&amp; </span><span
class="hl-identifier">y</span><span
class="hl-code"> &lt; </span><span
class="hl-identifier">p1</span><span
class="hl-code">.</span><span
class="hl-identifier">y</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/></span><span
class="hl-brackets">}</span><span
class="hl-code">;<br
/>&nbsp;<br
/></span><span
class="hl-types">struct</span><span
class="hl-code"> </span><span
class="hl-identifier">edge</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-identifier">point</span><span
class="hl-code"> *</span><span
class="hl-identifier">oi</span><span
class="hl-code">, *</span><span
class="hl-identifier">dt</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">on</span><span
class="hl-code">, *</span><span
class="hl-identifier">op</span><span
class="hl-code">, *</span><span
class="hl-identifier">dn</span><span
class="hl-code">, *</span><span
class="hl-identifier">dp</span><span
class="hl-code">;<br
/></span><span
class="hl-brackets">}</span><span
class="hl-code">;<br
/>&nbsp;<br
/></span><span
class="hl-types">struct</span><span
class="hl-code"> </span><span
class="hl-identifier">gEdge</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">u</span><span
class="hl-code">, </span><span
class="hl-identifier">v</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-types">double</span><span
class="hl-code"> </span><span
class="hl-identifier">w</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-types">bool</span><span
class="hl-code"> </span><span
class="hl-reserved">operator</span><span
class="hl-code"> &lt; </span><span
class="hl-brackets">(</span><span
class="hl-types">const</span><span
class="hl-code"> </span><span
class="hl-identifier">gEdge</span><span
class="hl-code"> &amp;</span><span
class="hl-identifier">e1</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-types">const</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-reserved">return</span><span
class="hl-code"> </span><span
class="hl-identifier">w</span><span
class="hl-code"> &lt; </span><span
class="hl-identifier">e1</span><span
class="hl-code">.</span><span
class="hl-identifier">w</span><span
class="hl-code">;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/></span><span
class="hl-brackets">}</span><span
class="hl-identifier">E</span><span
class="hl-brackets">[</span><span
class="hl-number">3</span><span
class="hl-code"> * </span><span
class="hl-identifier">MAXN</span><span
class="hl-brackets">]</span><span
class="hl-code">, </span><span
class="hl-identifier">MST</span><span
class="hl-brackets">[</span><span
class="hl-identifier">MAXN</span><span
class="hl-brackets">]</span><span
class="hl-code">;<br
/>&nbsp;<br
/></span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">N</span><span
class="hl-code">, </span><span
class="hl-identifier">M</span><span
class="hl-code">;<br
/></span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">f</span><span
class="hl-brackets">[</span><span
class="hl-identifier">MAXN</span><span
class="hl-brackets">]</span><span
class="hl-code">, </span><span
class="hl-identifier">d</span><span
class="hl-brackets">[</span><span
class="hl-identifier">MAXN</span><span
class="hl-brackets">]</span><span
class="hl-code">;<br
/>&nbsp;<br
/></span><span
class="hl-types">void</span><span
class="hl-code"> </span><span
class="hl-identifier">Init</span><span
class="hl-brackets">()</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">for</span><span
class="hl-brackets">(</span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">i</span><span
class="hl-code"> = </span><span
class="hl-number">0</span><span
class="hl-code">; </span><span
class="hl-identifier">i</span><span
class="hl-code"> &lt; </span><span
class="hl-identifier">N</span><span
class="hl-code">; ++</span><span
class="hl-identifier">i</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-identifier">f</span><span
class="hl-brackets">[</span><span
class="hl-identifier">i</span><span
class="hl-brackets">]</span><span
class="hl-code"> = </span><span
class="hl-identifier">i</span><span
class="hl-code">, </span><span
class="hl-identifier">d</span><span
class="hl-brackets">[</span><span
class="hl-identifier">i</span><span
class="hl-brackets">]</span><span
class="hl-code"> = </span><span
class="hl-number">0</span><span
class="hl-code">;<br
/></span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;<br
/></span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">Find</span><span
class="hl-brackets">(</span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">x</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">i</span><span
class="hl-code"> = </span><span
class="hl-identifier">x</span><span
class="hl-code">, </span><span
class="hl-identifier">t</span><span
class="hl-code"> = </span><span
class="hl-identifier">x</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">while</span><span
class="hl-brackets">(</span><span
class="hl-identifier">f</span><span
class="hl-brackets">[</span><span
class="hl-identifier">i</span><span
class="hl-brackets">]</span><span
class="hl-code"> != </span><span
class="hl-identifier">i</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-identifier">i</span><span
class="hl-code"> = </span><span
class="hl-identifier">f</span><span
class="hl-brackets">[</span><span
class="hl-identifier">i</span><span
class="hl-brackets">]</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">while</span><span
class="hl-brackets">(</span><span
class="hl-identifier">f</span><span
class="hl-brackets">[</span><span
class="hl-identifier">t</span><span
class="hl-brackets">]</span><span
class="hl-code"> != </span><span
class="hl-identifier">i</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">temp</span><span
class="hl-code"> = </span><span
class="hl-identifier">f</span><span
class="hl-brackets">[</span><span
class="hl-identifier">t</span><span
class="hl-brackets">]</span><span
class="hl-code">; </span><span
class="hl-identifier">f</span><span
class="hl-brackets">[</span><span
class="hl-identifier">t</span><span
class="hl-brackets">]</span><span
class="hl-code"> = </span><span
class="hl-identifier">i</span><span
class="hl-code">; </span><span
class="hl-identifier">t</span><span
class="hl-code"> = </span><span
class="hl-identifier">temp</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">return</span><span
class="hl-code"> </span><span
class="hl-identifier">i</span><span
class="hl-code">;<br
/></span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;<br
/></span><span
class="hl-types">void</span><span
class="hl-code"> </span><span
class="hl-identifier">Make</span><span
class="hl-brackets">(</span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">x</span><span
class="hl-code">, </span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">y</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-identifier">x</span><span
class="hl-code"> = </span><span
class="hl-identifier">Find</span><span
class="hl-brackets">(</span><span
class="hl-identifier">x</span><span
class="hl-brackets">)</span><span
class="hl-code">; </span><span
class="hl-identifier">y</span><span
class="hl-code"> = </span><span
class="hl-identifier">Find</span><span
class="hl-brackets">(</span><span
class="hl-identifier">y</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">d</span><span
class="hl-brackets">[</span><span
class="hl-identifier">x</span><span
class="hl-brackets">]</span><span
class="hl-code"> &gt; </span><span
class="hl-identifier">d</span><span
class="hl-brackets">[</span><span
class="hl-identifier">y</span><span
class="hl-brackets">])</span><span
class="hl-code"> </span><span
class="hl-identifier">f</span><span
class="hl-brackets">[</span><span
class="hl-identifier">y</span><span
class="hl-brackets">]</span><span
class="hl-code"> = </span><span
class="hl-identifier">x</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">else</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">f</span><span
class="hl-brackets">[</span><span
class="hl-identifier">x</span><span
class="hl-brackets">]</span><span
class="hl-code"> = </span><span
class="hl-identifier">y</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">d</span><span
class="hl-brackets">[</span><span
class="hl-identifier">x</span><span
class="hl-brackets">]</span><span
class="hl-code"> == </span><span
class="hl-identifier">d</span><span
class="hl-brackets">[</span><span
class="hl-identifier">y</span><span
class="hl-brackets">])</span><span
class="hl-code"> </span><span
class="hl-identifier">d</span><span
class="hl-brackets">[</span><span
class="hl-identifier">y</span><span
class="hl-brackets">]</span><span
class="hl-code">++;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/></span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;<br
/></span><span
class="hl-types">void</span><span
class="hl-code"> </span><span
class="hl-identifier">Kruskal</span><span
class="hl-brackets">()</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-types">double</span><span
class="hl-code"> </span><span
class="hl-identifier">length</span><span
class="hl-code"> = </span><span
class="hl-number">0.0</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-identifier">Init</span><span
class="hl-brackets">()</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-identifier">sort</span><span
class="hl-brackets">(</span><span
class="hl-identifier">E</span><span
class="hl-code">, </span><span
class="hl-identifier">E</span><span
class="hl-code"> + </span><span
class="hl-identifier">M</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">for</span><span
class="hl-brackets">(</span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">i</span><span
class="hl-code"> = </span><span
class="hl-number">0</span><span
class="hl-code">, </span><span
class="hl-identifier">k</span><span
class="hl-code"> = </span><span
class="hl-number">0</span><span
class="hl-code">; </span><span
class="hl-identifier">i</span><span
class="hl-code"> &lt; </span><span
class="hl-identifier">M</span><span
class="hl-code"> &amp;&amp; </span><span
class="hl-identifier">k</span><span
class="hl-code"> &lt; </span><span
class="hl-identifier">N</span><span
class="hl-code"> - </span><span
class="hl-number">1</span><span
class="hl-code">; ++</span><span
class="hl-identifier">i</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Find</span><span
class="hl-brackets">(</span><span
class="hl-identifier">E</span><span
class="hl-brackets">[</span><span
class="hl-identifier">i</span><span
class="hl-brackets">]</span><span
class="hl-code">.</span><span
class="hl-identifier">u</span><span
class="hl-brackets">)</span><span
class="hl-code"> != </span><span
class="hl-identifier">Find</span><span
class="hl-brackets">(</span><span
class="hl-identifier">E</span><span
class="hl-brackets">[</span><span
class="hl-identifier">i</span><span
class="hl-brackets">]</span><span
class="hl-code">.</span><span
class="hl-identifier">v</span><span
class="hl-brackets">))</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">Make</span><span
class="hl-brackets">(</span><span
class="hl-identifier">E</span><span
class="hl-brackets">[</span><span
class="hl-identifier">i</span><span
class="hl-brackets">]</span><span
class="hl-code">.</span><span
class="hl-identifier">u</span><span
class="hl-code">, </span><span
class="hl-identifier">E</span><span
class="hl-brackets">[</span><span
class="hl-identifier">i</span><span
class="hl-brackets">]</span><span
class="hl-code">.</span><span
class="hl-identifier">v</span><span
class="hl-brackets">)</span><span
class="hl-code">; </span><span
class="hl-identifier">MST</span><span
class="hl-brackets">[</span><span
class="hl-identifier">k</span><span
class="hl-code">++</span><span
class="hl-brackets">]</span><span
class="hl-code"> = </span><span
class="hl-identifier">E</span><span
class="hl-brackets">[</span><span
class="hl-identifier">i</span><span
class="hl-brackets">]</span><span
class="hl-code">; </span><span
class="hl-identifier">length</span><span
class="hl-code"> += </span><span
class="hl-identifier">E</span><span
class="hl-brackets">[</span><span
class="hl-identifier">i</span><span
class="hl-brackets">]</span><span
class="hl-code">.</span><span
class="hl-identifier">w</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-identifier">printf</span><span
class="hl-brackets">(</span><span
class="hl-quotes">&quot;</span><span
class="hl-string">%.4lfn</span><span
class="hl-quotes">&quot;</span><span
class="hl-code">, </span><span
class="hl-identifier">length</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/></span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;<br
/></span><span
class="hl-identifier">point</span><span
class="hl-code"> </span><span
class="hl-identifier">p</span><span
class="hl-brackets">[</span><span
class="hl-identifier">MAXN</span><span
class="hl-brackets">]</span><span
class="hl-code">, *</span><span
class="hl-identifier">Q</span><span
class="hl-brackets">[</span><span
class="hl-identifier">MAXN</span><span
class="hl-brackets">]</span><span
class="hl-code">;<br
/></span><span
class="hl-identifier">edge</span><span
class="hl-code"> </span><span
class="hl-identifier">mem</span><span
class="hl-brackets">[</span><span
class="hl-number">3</span><span
class="hl-code"> * </span><span
class="hl-identifier">MAXN</span><span
class="hl-brackets">]</span><span
class="hl-code">, *</span><span
class="hl-identifier">elist</span><span
class="hl-brackets">[</span><span
class="hl-number">3</span><span
class="hl-code"> * </span><span
class="hl-identifier">MAXN</span><span
class="hl-brackets">]</span><span
class="hl-code">;<br
/></span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">nfree</span><span
class="hl-code">;<br
/>&nbsp;<br
/></span><span
class="hl-types">void</span><span
class="hl-code"> </span><span
class="hl-identifier">Alloc_memory</span><span
class="hl-brackets">()</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-identifier">nfree</span><span
class="hl-code"> = </span><span
class="hl-number">3</span><span
class="hl-code"> * </span><span
class="hl-identifier">N</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">e</span><span
class="hl-code"> = </span><span
class="hl-identifier">mem</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">for</span><span
class="hl-brackets">(</span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">i</span><span
class="hl-code"> = </span><span
class="hl-number">0</span><span
class="hl-code">; </span><span
class="hl-identifier">i</span><span
class="hl-code"> &lt; </span><span
class="hl-identifier">nfree</span><span
class="hl-code">; ++</span><span
class="hl-identifier">i</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-identifier">elist</span><span
class="hl-brackets">[</span><span
class="hl-identifier">i</span><span
class="hl-brackets">]</span><span
class="hl-code"> = </span><span
class="hl-identifier">e</span><span
class="hl-code">++;<br
/></span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;<br
/></span><span
class="hl-types">void</span><span
class="hl-code"> </span><span
class="hl-identifier">Splice</span><span
class="hl-brackets">(</span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">a</span><span
class="hl-code">, </span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">b</span><span
class="hl-code">, </span><span
class="hl-identifier">point</span><span
class="hl-code"> *</span><span
class="hl-identifier">v</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">next</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Oi</span><span
class="hl-brackets">(</span><span
class="hl-identifier">a</span><span
class="hl-brackets">)</span><span
class="hl-code"> == </span><span
class="hl-identifier">v</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-identifier">next</span><span
class="hl-code"> = </span><span
class="hl-identifier">On</span><span
class="hl-brackets">(</span><span
class="hl-identifier">a</span><span
class="hl-brackets">)</span><span
class="hl-code">, </span><span
class="hl-identifier">On</span><span
class="hl-brackets">(</span><span
class="hl-identifier">a</span><span
class="hl-brackets">)</span><span
class="hl-code"> = </span><span
class="hl-identifier">b</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">else</span><span
class="hl-code"> </span><span
class="hl-identifier">next</span><span
class="hl-code"> = </span><span
class="hl-identifier">Dn</span><span
class="hl-brackets">(</span><span
class="hl-identifier">a</span><span
class="hl-brackets">)</span><span
class="hl-code">, </span><span
class="hl-identifier">Dn</span><span
class="hl-brackets">(</span><span
class="hl-identifier">a</span><span
class="hl-brackets">)</span><span
class="hl-code"> = </span><span
class="hl-identifier">b</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Oi</span><span
class="hl-brackets">(</span><span
class="hl-identifier">next</span><span
class="hl-brackets">)</span><span
class="hl-code"> == </span><span
class="hl-identifier">v</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-identifier">Op</span><span
class="hl-brackets">(</span><span
class="hl-identifier">next</span><span
class="hl-brackets">)</span><span
class="hl-code"> = </span><span
class="hl-identifier">b</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">else</span><span
class="hl-code"> </span><span
class="hl-identifier">Dp</span><span
class="hl-brackets">(</span><span
class="hl-identifier">next</span><span
class="hl-brackets">)</span><span
class="hl-code"> = </span><span
class="hl-identifier">b</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Oi</span><span
class="hl-brackets">(</span><span
class="hl-identifier">b</span><span
class="hl-brackets">)</span><span
class="hl-code"> == </span><span
class="hl-identifier">v</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-identifier">On</span><span
class="hl-brackets">(</span><span
class="hl-identifier">b</span><span
class="hl-brackets">)</span><span
class="hl-code"> = </span><span
class="hl-identifier">next</span><span
class="hl-code">, </span><span
class="hl-identifier">Op</span><span
class="hl-brackets">(</span><span
class="hl-identifier">b</span><span
class="hl-brackets">)</span><span
class="hl-code"> = </span><span
class="hl-identifier">a</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">else</span><span
class="hl-code"> </span><span
class="hl-identifier">Dn</span><span
class="hl-brackets">(</span><span
class="hl-identifier">b</span><span
class="hl-brackets">)</span><span
class="hl-code"> = </span><span
class="hl-identifier">next</span><span
class="hl-code">, </span><span
class="hl-identifier">Dp</span><span
class="hl-brackets">(</span><span
class="hl-identifier">b</span><span
class="hl-brackets">)</span><span
class="hl-code"> = </span><span
class="hl-identifier">a</span><span
class="hl-code">;<br
/></span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;<br
/></span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">Make_edge</span><span
class="hl-brackets">(</span><span
class="hl-identifier">point</span><span
class="hl-code"> *</span><span
class="hl-identifier">u</span><span
class="hl-code">, </span><span
class="hl-identifier">point</span><span
class="hl-code"> *</span><span
class="hl-identifier">v</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">e</span><span
class="hl-code"> = </span><span
class="hl-identifier">elist</span><span
class="hl-brackets">[</span><span
class="hl-code">--</span><span
class="hl-identifier">nfree</span><span
class="hl-brackets">]</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">on</span><span
class="hl-code"> = </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">op</span><span
class="hl-code"> = </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dn</span><span
class="hl-code"> = </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dp</span><span
class="hl-code"> = </span><span
class="hl-identifier">e</span><span
class="hl-code">; </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">oi</span><span
class="hl-code"> = </span><span
class="hl-identifier">u</span><span
class="hl-code">; </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dt</span><span
class="hl-code"> = </span><span
class="hl-identifier">v</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">u</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">in</span><span
class="hl-code"> == </span><span
class="hl-prepro">NULL</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-identifier">u</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">in</span><span
class="hl-code"> = </span><span
class="hl-identifier">e</span><span
class="hl-code">; </span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">v</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">in</span><span
class="hl-code"> == </span><span
class="hl-prepro">NULL</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-identifier">v</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">in</span><span
class="hl-code"> = </span><span
class="hl-identifier">e</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">return</span><span
class="hl-code"> </span><span
class="hl-identifier">e</span><span
class="hl-code">;<br
/></span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;<br
/></span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">Join</span><span
class="hl-brackets">(</span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">a</span><span
class="hl-code">, </span><span
class="hl-identifier">point</span><span
class="hl-code"> *</span><span
class="hl-identifier">u</span><span
class="hl-code">, </span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">b</span><span
class="hl-code">, </span><span
class="hl-identifier">point</span><span
class="hl-code"> *</span><span
class="hl-identifier">v</span><span
class="hl-code">, </span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">side</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">e</span><span
class="hl-code"> = </span><span
class="hl-identifier">Make_edge</span><span
class="hl-brackets">(</span><span
class="hl-identifier">u</span><span
class="hl-code">, </span><span
class="hl-identifier">v</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">side</span><span
class="hl-code"> == </span><span
class="hl-number">1</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Oi</span><span
class="hl-brackets">(</span><span
class="hl-identifier">a</span><span
class="hl-brackets">)</span><span
class="hl-code"> == </span><span
class="hl-identifier">u</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-identifier">Splice</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Op</span><span
class="hl-brackets">(</span><span
class="hl-identifier">a</span><span
class="hl-brackets">)</span><span
class="hl-code">, </span><span
class="hl-identifier">e</span><span
class="hl-code">, </span><span
class="hl-identifier">u</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">else</span><span
class="hl-code"> </span><span
class="hl-identifier">Splice</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Dp</span><span
class="hl-brackets">(</span><span
class="hl-identifier">a</span><span
class="hl-brackets">)</span><span
class="hl-code">, </span><span
class="hl-identifier">e</span><span
class="hl-code">, </span><span
class="hl-identifier">u</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">Splice</span><span
class="hl-brackets">(</span><span
class="hl-identifier">b</span><span
class="hl-code">, </span><span
class="hl-identifier">e</span><span
class="hl-code">, </span><span
class="hl-identifier">v</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">else</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">Splice</span><span
class="hl-brackets">(</span><span
class="hl-identifier">a</span><span
class="hl-code">, </span><span
class="hl-identifier">e</span><span
class="hl-code">, </span><span
class="hl-identifier">u</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Oi</span><span
class="hl-brackets">(</span><span
class="hl-identifier">b</span><span
class="hl-brackets">)</span><span
class="hl-code"> == </span><span
class="hl-identifier">v</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-identifier">Splice</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Op</span><span
class="hl-brackets">(</span><span
class="hl-identifier">b</span><span
class="hl-brackets">)</span><span
class="hl-code">, </span><span
class="hl-identifier">e</span><span
class="hl-code">, </span><span
class="hl-identifier">v</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">else</span><span
class="hl-code"> </span><span
class="hl-identifier">Splice</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Dp</span><span
class="hl-brackets">(</span><span
class="hl-identifier">b</span><span
class="hl-brackets">)</span><span
class="hl-code">, </span><span
class="hl-identifier">e</span><span
class="hl-code">, </span><span
class="hl-identifier">v</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">return</span><span
class="hl-code"> </span><span
class="hl-identifier">e</span><span
class="hl-code">;<br
/></span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;<br
/></span><span
class="hl-types">void</span><span
class="hl-code"> </span><span
class="hl-identifier">Remove</span><span
class="hl-brackets">(</span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-identifier">point</span><span
class="hl-code"> *</span><span
class="hl-identifier">u</span><span
class="hl-code"> = </span><span
class="hl-identifier">Oi</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code">, *</span><span
class="hl-identifier">v</span><span
class="hl-code"> = </span><span
class="hl-identifier">Dt</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">u</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">in</span><span
class="hl-code"> == </span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-identifier">u</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">in</span><span
class="hl-code"> = </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">on</span><span
class="hl-code">; </span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">v</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">in</span><span
class="hl-code"> == </span><span
class="hl-identifier">e</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-identifier">v</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">in</span><span
class="hl-code"> = </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dn</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Oi</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">on</span><span
class="hl-brackets">)</span><span
class="hl-code"> == </span><span
class="hl-identifier">u</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">on</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">op</span><span
class="hl-code"> = </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">op</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">else</span><span
class="hl-code"> </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">on</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dp</span><span
class="hl-code"> = </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">op</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Oi</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">op</span><span
class="hl-brackets">)</span><span
class="hl-code"> == </span><span
class="hl-identifier">u</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">op</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">on</span><span
class="hl-code"> = </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">on</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">else</span><span
class="hl-code"> </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">op</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dn</span><span
class="hl-code"> = </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">on</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Oi</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dn</span><span
class="hl-brackets">)</span><span
class="hl-code"> == </span><span
class="hl-identifier">v</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dn</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">op</span><span
class="hl-code"> = </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dp</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">else</span><span
class="hl-code"> </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dn</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dp</span><span
class="hl-code"> = </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dp</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Oi</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dp</span><span
class="hl-brackets">)</span><span
class="hl-code"> == </span><span
class="hl-identifier">v</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dp</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">on</span><span
class="hl-code"> = </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dn</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">else</span><span
class="hl-code"> </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dp</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dn</span><span
class="hl-code"> = </span><span
class="hl-identifier">e</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">dn</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-identifier">elist</span><span
class="hl-brackets">[</span><span
class="hl-identifier">nfree</span><span
class="hl-code">++</span><span
class="hl-brackets">]</span><span
class="hl-code"> = </span><span
class="hl-identifier">e</span><span
class="hl-code">;<br
/></span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;<br
/></span><span
class="hl-types">void</span><span
class="hl-code"> </span><span
class="hl-identifier">Make_Graph</span><span
class="hl-brackets">()</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">for</span><span
class="hl-brackets">(</span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">i</span><span
class="hl-code"> = </span><span
class="hl-number">0</span><span
class="hl-code">; </span><span
class="hl-identifier">i</span><span
class="hl-code"> &lt; </span><span
class="hl-identifier">N</span><span
class="hl-code">; ++</span><span
class="hl-identifier">i</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">point</span><span
class="hl-code"> *</span><span
class="hl-identifier">u</span><span
class="hl-code"> = &amp;</span><span
class="hl-identifier">p</span><span
class="hl-brackets">[</span><span
class="hl-identifier">i</span><span
class="hl-brackets">]</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">start</span><span
class="hl-code"> = </span><span
class="hl-identifier">u</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">in</span><span
class="hl-code">, *</span><span
class="hl-identifier">e</span><span
class="hl-code"> = </span><span
class="hl-identifier">u</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">in</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">do</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">point</span><span
class="hl-code"> *</span><span
class="hl-identifier">v</span><span
class="hl-code"> = </span><span
class="hl-identifier">Other</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-code">, </span><span
class="hl-identifier">u</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">u</span><span
class="hl-code"> &lt; </span><span
class="hl-identifier">v</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">E</span><span
class="hl-brackets">[</span><span
class="hl-identifier">M</span><span
class="hl-brackets">]</span><span
class="hl-code">.</span><span
class="hl-identifier">u</span><span
class="hl-code"> = </span><span
class="hl-identifier">u</span><span
class="hl-code"> - </span><span
class="hl-identifier">p</span><span
class="hl-code">, </span><span
class="hl-identifier">E</span><span
class="hl-brackets">[</span><span
class="hl-identifier">M</span><span
class="hl-brackets">]</span><span
class="hl-code">.</span><span
class="hl-identifier">v</span><span
class="hl-code"> = </span><span
class="hl-identifier">v</span><span
class="hl-code"> - </span><span
class="hl-identifier">p</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">E</span><span
class="hl-brackets">[</span><span
class="hl-identifier">M</span><span
class="hl-code">++</span><span
class="hl-brackets">]</span><span
class="hl-code">.</span><span
class="hl-identifier">w</span><span
class="hl-code"> = </span><span
class="hl-identifier">hypot</span><span
class="hl-brackets">(</span><span
class="hl-identifier">u</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">x</span><span
class="hl-code"> - </span><span
class="hl-identifier">v</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">x</span><span
class="hl-code">, </span><span
class="hl-identifier">u</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">y</span><span
class="hl-code"> - </span><span
class="hl-identifier">v</span><span
class="hl-code">-&gt;</span><span
class="hl-identifier">y</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">e</span><span
class="hl-code"> = </span><span
class="hl-identifier">Next</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-code">, </span><span
class="hl-identifier">u</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"> </span><span
class="hl-reserved">while</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e</span><span
class="hl-code"> != </span><span
class="hl-identifier">start</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/></span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;<br
/></span><span
class="hl-types">void</span><span
class="hl-code"> </span><span
class="hl-identifier">Low_tangent</span><span
class="hl-brackets">(</span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">e_l</span><span
class="hl-code">, </span><span
class="hl-identifier">point</span><span
class="hl-code"> *</span><span
class="hl-identifier">o_l</span><span
class="hl-code">, </span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">e_r</span><span
class="hl-code">, </span><span
class="hl-identifier">point</span><span
class="hl-code"> *</span><span
class="hl-identifier">o_r</span><span
class="hl-code">, </span><span
class="hl-identifier">edge</span><span
class="hl-code"> **</span><span
class="hl-identifier">l_low</span><span
class="hl-code">, </span><span
class="hl-identifier">point</span><span
class="hl-code"> **</span><span
class="hl-identifier">OL</span><span
class="hl-code">, </span><span
class="hl-identifier">edge</span><span
class="hl-code"> **</span><span
class="hl-identifier">r_low</span><span
class="hl-code">, </span><span
class="hl-identifier">point</span><span
class="hl-code"> **</span><span
class="hl-identifier">OR</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-identifier">point</span><span
class="hl-code"> *</span><span
class="hl-identifier">d_l</span><span
class="hl-code"> = </span><span
class="hl-identifier">Other</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e_l</span><span
class="hl-code">, </span><span
class="hl-identifier">o_l</span><span
class="hl-brackets">)</span><span
class="hl-code">, *</span><span
class="hl-identifier">d_r</span><span
class="hl-code"> = </span><span
class="hl-identifier">Other</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e_r</span><span
class="hl-code">, </span><span
class="hl-identifier">o_r</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">while</span><span
class="hl-brackets">(</span><span
class="hl-reserved">true</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">C3</span><span
class="hl-brackets">(</span><span
class="hl-identifier">o_l</span><span
class="hl-code">, </span><span
class="hl-identifier">o_r</span><span
class="hl-code">, </span><span
class="hl-identifier">d_l</span><span
class="hl-brackets">)</span><span
class="hl-code"> &lt; </span><span
class="hl-number">0.0</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">e_l</span><span
class="hl-code"> = </span><span
class="hl-identifier">Prev</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e_l</span><span
class="hl-code">, </span><span
class="hl-identifier">d_l</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">o_l</span><span
class="hl-code"> = </span><span
class="hl-identifier">d_l</span><span
class="hl-code">; </span><span
class="hl-identifier">d_l</span><span
class="hl-code"> = </span><span
class="hl-identifier">Other</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e_l</span><span
class="hl-code">, </span><span
class="hl-identifier">o_l</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">else</span><span
class="hl-code"> </span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">C3</span><span
class="hl-brackets">(</span><span
class="hl-identifier">o_l</span><span
class="hl-code">, </span><span
class="hl-identifier">o_r</span><span
class="hl-code">, </span><span
class="hl-identifier">d_r</span><span
class="hl-brackets">)</span><span
class="hl-code"> &lt; </span><span
class="hl-number">0.0</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">e_r</span><span
class="hl-code"> = </span><span
class="hl-identifier">Next</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e_r</span><span
class="hl-code">, </span><span
class="hl-identifier">d_r</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">o_r</span><span
class="hl-code"> = </span><span
class="hl-identifier">d_r</span><span
class="hl-code">; </span><span
class="hl-identifier">d_r</span><span
class="hl-code"> = </span><span
class="hl-identifier">Other</span><span
class="hl-brackets">(</span><span
class="hl-identifier">e_r</span><span
class="hl-code">, </span><span
class="hl-identifier">o_r</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">else</span><span
class="hl-code"> </span><span
class="hl-reserved">break</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;*</span><span
class="hl-identifier">OL</span><span
class="hl-code"> = </span><span
class="hl-identifier">o_l</span><span
class="hl-code">, *</span><span
class="hl-identifier">OR</span><span
class="hl-code"> = </span><span
class="hl-identifier">o_r</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;*</span><span
class="hl-identifier">l_low</span><span
class="hl-code"> = </span><span
class="hl-identifier">e_l</span><span
class="hl-code">, *</span><span
class="hl-identifier">r_low</span><span
class="hl-code"> = </span><span
class="hl-identifier">e_r</span><span
class="hl-code">;<br
/></span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;<br
/></span><span
class="hl-types">void</span><span
class="hl-code"> </span><span
class="hl-identifier">Merge</span><span
class="hl-brackets">(</span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">lr</span><span
class="hl-code">, </span><span
class="hl-identifier">point</span><span
class="hl-code"> *</span><span
class="hl-identifier">s</span><span
class="hl-code">, </span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">rl</span><span
class="hl-code">, </span><span
class="hl-identifier">point</span><span
class="hl-code"> *</span><span
class="hl-identifier">u</span><span
class="hl-code">, </span><span
class="hl-identifier">edge</span><span
class="hl-code"> **</span><span
class="hl-identifier">tangent</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-types">double</span><span
class="hl-code"> </span><span
class="hl-identifier">l1</span><span
class="hl-code">, </span><span
class="hl-identifier">l2</span><span
class="hl-code">, </span><span
class="hl-identifier">l3</span><span
class="hl-code">, </span><span
class="hl-identifier">l4</span><span
class="hl-code">, </span><span
class="hl-identifier">r1</span><span
class="hl-code">, </span><span
class="hl-identifier">r2</span><span
class="hl-code">, </span><span
class="hl-identifier">r3</span><span
class="hl-code">, </span><span
class="hl-identifier">r4</span><span
class="hl-code">, </span><span
class="hl-identifier">cot_L</span><span
class="hl-code">, </span><span
class="hl-identifier">cot_R</span><span
class="hl-code">, </span><span
class="hl-identifier">u1</span><span
class="hl-code">, </span><span
class="hl-identifier">v1</span><span
class="hl-code">, </span><span
class="hl-identifier">u2</span><span
class="hl-code">, </span><span
class="hl-identifier">v2</span><span
class="hl-code">, </span><span
class="hl-identifier">N1</span><span
class="hl-code">, </span><span
class="hl-identifier">cot_N</span><span
class="hl-code">, </span><span
class="hl-identifier">P1</span><span
class="hl-code">, </span><span
class="hl-identifier">cot_P</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-identifier">point</span><span
class="hl-code"> *</span><span
class="hl-identifier">O</span><span
class="hl-code">, *</span><span
class="hl-identifier">D</span><span
class="hl-code">, *</span><span
class="hl-identifier">OR</span><span
class="hl-code">, *</span><span
class="hl-identifier">OL</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">B</span><span
class="hl-code">, *</span><span
class="hl-identifier">L</span><span
class="hl-code">, *</span><span
class="hl-identifier">R</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-identifier">Low_tangent</span><span
class="hl-brackets">(</span><span
class="hl-identifier">lr</span><span
class="hl-code">, </span><span
class="hl-identifier">s</span><span
class="hl-code">, </span><span
class="hl-identifier">rl</span><span
class="hl-code">, </span><span
class="hl-identifier">u</span><span
class="hl-code">, &amp;</span><span
class="hl-identifier">L</span><span
class="hl-code">, &amp;</span><span
class="hl-identifier">OL</span><span
class="hl-code">, &amp;</span><span
class="hl-identifier">R</span><span
class="hl-code">, &amp;</span><span
class="hl-identifier">OR</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;*</span><span
class="hl-identifier">tangent</span><span
class="hl-code"> = </span><span
class="hl-identifier">B</span><span
class="hl-code"> = </span><span
class="hl-identifier">Join</span><span
class="hl-brackets">(</span><span
class="hl-identifier">L</span><span
class="hl-code">, </span><span
class="hl-identifier">OL</span><span
class="hl-code">, </span><span
class="hl-identifier">R</span><span
class="hl-code">, </span><span
class="hl-identifier">OR</span><span
class="hl-code">, </span><span
class="hl-number">0</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-identifier">O</span><span
class="hl-code"> = </span><span
class="hl-identifier">OL</span><span
class="hl-code">, </span><span
class="hl-identifier">D</span><span
class="hl-code"> = </span><span
class="hl-identifier">OR</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">do</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">El</span><span
class="hl-code"> = </span><span
class="hl-identifier">Next</span><span
class="hl-brackets">(</span><span
class="hl-identifier">B</span><span
class="hl-code">, </span><span
class="hl-identifier">O</span><span
class="hl-brackets">)</span><span
class="hl-code">, *</span><span
class="hl-identifier">Er</span><span
class="hl-code"> = </span><span
class="hl-identifier">Prev</span><span
class="hl-brackets">(</span><span
class="hl-identifier">B</span><span
class="hl-code">, </span><span
class="hl-identifier">D</span><span
class="hl-brackets">)</span><span
class="hl-code">, *</span><span
class="hl-identifier">next</span><span
class="hl-code">, *</span><span
class="hl-identifier">prev</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">point</span><span
class="hl-code"> *</span><span
class="hl-identifier">l</span><span
class="hl-code"> = </span><span
class="hl-identifier">Other</span><span
class="hl-brackets">(</span><span
class="hl-identifier">El</span><span
class="hl-code">, </span><span
class="hl-identifier">O</span><span
class="hl-brackets">)</span><span
class="hl-code">, *</span><span
class="hl-identifier">r</span><span
class="hl-code"> = </span><span
class="hl-identifier">Other</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Er</span><span
class="hl-code">, </span><span
class="hl-identifier">D</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">V</span><span
class="hl-brackets">(</span><span
class="hl-identifier">l</span><span
class="hl-code">, </span><span
class="hl-identifier">O</span><span
class="hl-code">, </span><span
class="hl-identifier">l1</span><span
class="hl-code">, </span><span
class="hl-identifier">l2</span><span
class="hl-brackets">)</span><span
class="hl-code">; </span><span
class="hl-identifier">V</span><span
class="hl-brackets">(</span><span
class="hl-identifier">l</span><span
class="hl-code">, </span><span
class="hl-identifier">D</span><span
class="hl-code">, </span><span
class="hl-identifier">l3</span><span
class="hl-code">, </span><span
class="hl-identifier">l4</span><span
class="hl-brackets">)</span><span
class="hl-code">; </span><span
class="hl-identifier">V</span><span
class="hl-brackets">(</span><span
class="hl-identifier">r</span><span
class="hl-code">, </span><span
class="hl-identifier">O</span><span
class="hl-code">, </span><span
class="hl-identifier">r1</span><span
class="hl-code">, </span><span
class="hl-identifier">r2</span><span
class="hl-brackets">)</span><span
class="hl-code">; </span><span
class="hl-identifier">V</span><span
class="hl-brackets">(</span><span
class="hl-identifier">r</span><span
class="hl-code">, </span><span
class="hl-identifier">D</span><span
class="hl-code">, </span><span
class="hl-identifier">r3</span><span
class="hl-code">, </span><span
class="hl-identifier">r4</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-types">double</span><span
class="hl-code"> </span><span
class="hl-identifier">cl</span><span
class="hl-code"> = </span><span
class="hl-identifier">C2</span><span
class="hl-brackets">(</span><span
class="hl-identifier">l1</span><span
class="hl-code">, </span><span
class="hl-identifier">l2</span><span
class="hl-code">, </span><span
class="hl-identifier">l3</span><span
class="hl-code">, </span><span
class="hl-identifier">l4</span><span
class="hl-brackets">)</span><span
class="hl-code">, </span><span
class="hl-identifier">cr</span><span
class="hl-code"> = </span><span
class="hl-identifier">C2</span><span
class="hl-brackets">(</span><span
class="hl-identifier">r1</span><span
class="hl-code">, </span><span
class="hl-identifier">r2</span><span
class="hl-code">, </span><span
class="hl-identifier">r3</span><span
class="hl-code">, </span><span
class="hl-identifier">r4</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-types">bool</span><span
class="hl-code"> </span><span
class="hl-identifier">BL</span><span
class="hl-code"> = </span><span
class="hl-identifier">cl</span><span
class="hl-code"> &gt; </span><span
class="hl-number">0.0</span><span
class="hl-code">, </span><span
class="hl-identifier">BR</span><span
class="hl-code"> = </span><span
class="hl-identifier">cr</span><span
class="hl-code"> &gt; </span><span
class="hl-number">0.0</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-code">!</span><span
class="hl-identifier">BL</span><span
class="hl-code"> &amp;&amp; !</span><span
class="hl-identifier">BR</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-reserved">break</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">BL</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-types">double</span><span
class="hl-code"> </span><span
class="hl-identifier">dl</span><span
class="hl-code"> = </span><span
class="hl-identifier">Dot</span><span
class="hl-brackets">(</span><span
class="hl-identifier">l1</span><span
class="hl-code">, </span><span
class="hl-identifier">l2</span><span
class="hl-code">, </span><span
class="hl-identifier">l3</span><span
class="hl-code">, </span><span
class="hl-identifier">l4</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">cot_L</span><span
class="hl-code"> = </span><span
class="hl-identifier">dl</span><span
class="hl-code"> / </span><span
class="hl-identifier">cl</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">do</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">next</span><span
class="hl-code"> = </span><span
class="hl-identifier">Next</span><span
class="hl-brackets">(</span><span
class="hl-identifier">El</span><span
class="hl-code">, </span><span
class="hl-identifier">O</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">V</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Other</span><span
class="hl-brackets">(</span><span
class="hl-identifier">next</span><span
class="hl-code">, </span><span
class="hl-identifier">O</span><span
class="hl-brackets">)</span><span
class="hl-code">, </span><span
class="hl-identifier">O</span><span
class="hl-code">, </span><span
class="hl-identifier">u1</span><span
class="hl-code">, </span><span
class="hl-identifier">v1</span><span
class="hl-brackets">)</span><span
class="hl-code">; </span><span
class="hl-identifier">V</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Other</span><span
class="hl-brackets">(</span><span
class="hl-identifier">next</span><span
class="hl-code">, </span><span
class="hl-identifier">O</span><span
class="hl-brackets">)</span><span
class="hl-code">, </span><span
class="hl-identifier">D</span><span
class="hl-code">, </span><span
class="hl-identifier">u2</span><span
class="hl-code">, </span><span
class="hl-identifier">v2</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">N1</span><span
class="hl-code"> = </span><span
class="hl-identifier">C2</span><span
class="hl-brackets">(</span><span
class="hl-identifier">u1</span><span
class="hl-code">, </span><span
class="hl-identifier">v1</span><span
class="hl-code">, </span><span
class="hl-identifier">u2</span><span
class="hl-code">, </span><span
class="hl-identifier">v2</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-code">!</span><span
class="hl-brackets">(</span><span
class="hl-identifier">N1</span><span
class="hl-code"> &gt; </span><span
class="hl-number">0.0</span><span
class="hl-brackets">))</span><span
class="hl-code"> </span><span
class="hl-reserved">break</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">cot_N</span><span
class="hl-code"> = </span><span
class="hl-identifier">Dot</span><span
class="hl-brackets">(</span><span
class="hl-identifier">u1</span><span
class="hl-code">, </span><span
class="hl-identifier">v1</span><span
class="hl-code">, </span><span
class="hl-identifier">u2</span><span
class="hl-code">, </span><span
class="hl-identifier">v2</span><span
class="hl-brackets">)</span><span
class="hl-code"> / </span><span
class="hl-identifier">N1</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">cot_N</span><span
class="hl-code"> &gt; </span><span
class="hl-identifier">cot_L</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-reserved">break</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">Remove</span><span
class="hl-brackets">(</span><span
class="hl-identifier">El</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">El</span><span
class="hl-code"> = </span><span
class="hl-identifier">next</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">cot_L</span><span
class="hl-code"> = </span><span
class="hl-identifier">cot_N</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"> </span><span
class="hl-reserved">while</span><span
class="hl-brackets">(</span><span
class="hl-reserved">true</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">BR</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-types">double</span><span
class="hl-code"> </span><span
class="hl-identifier">dr</span><span
class="hl-code"> = </span><span
class="hl-identifier">Dot</span><span
class="hl-brackets">(</span><span
class="hl-identifier">r1</span><span
class="hl-code">, </span><span
class="hl-identifier">r2</span><span
class="hl-code">, </span><span
class="hl-identifier">r3</span><span
class="hl-code">, </span><span
class="hl-identifier">r4</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">cot_R</span><span
class="hl-code"> = </span><span
class="hl-identifier">dr</span><span
class="hl-code"> / </span><span
class="hl-identifier">cr</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">do</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">prev</span><span
class="hl-code"> = </span><span
class="hl-identifier">Prev</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Er</span><span
class="hl-code">, </span><span
class="hl-identifier">D</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">V</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Other</span><span
class="hl-brackets">(</span><span
class="hl-identifier">prev</span><span
class="hl-code">, </span><span
class="hl-identifier">D</span><span
class="hl-brackets">)</span><span
class="hl-code">, </span><span
class="hl-identifier">O</span><span
class="hl-code">, </span><span
class="hl-identifier">u1</span><span
class="hl-code">, </span><span
class="hl-identifier">v1</span><span
class="hl-brackets">)</span><span
class="hl-code">; </span><span
class="hl-identifier">V</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Other</span><span
class="hl-brackets">(</span><span
class="hl-identifier">prev</span><span
class="hl-code">, </span><span
class="hl-identifier">D</span><span
class="hl-brackets">)</span><span
class="hl-code">, </span><span
class="hl-identifier">D</span><span
class="hl-code">, </span><span
class="hl-identifier">u2</span><span
class="hl-code">, </span><span
class="hl-identifier">v2</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">P1</span><span
class="hl-code"> = </span><span
class="hl-identifier">C2</span><span
class="hl-brackets">(</span><span
class="hl-identifier">u1</span><span
class="hl-code">, </span><span
class="hl-identifier">v1</span><span
class="hl-code">, </span><span
class="hl-identifier">u2</span><span
class="hl-code">, </span><span
class="hl-identifier">v2</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-code">!</span><span
class="hl-brackets">(</span><span
class="hl-identifier">P1</span><span
class="hl-code"> &gt; </span><span
class="hl-number">0.0</span><span
class="hl-brackets">))</span><span
class="hl-code"> </span><span
class="hl-reserved">break</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">cot_P</span><span
class="hl-code"> = </span><span
class="hl-identifier">Dot</span><span
class="hl-brackets">(</span><span
class="hl-identifier">u1</span><span
class="hl-code">, </span><span
class="hl-identifier">v1</span><span
class="hl-code">, </span><span
class="hl-identifier">u2</span><span
class="hl-code">, </span><span
class="hl-identifier">v2</span><span
class="hl-brackets">)</span><span
class="hl-code"> / </span><span
class="hl-identifier">P1</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">cot_P</span><span
class="hl-code"> &gt; </span><span
class="hl-identifier">cot_R</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-reserved">break</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">Remove</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Er</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">Er</span><span
class="hl-code"> = </span><span
class="hl-identifier">prev</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">cot_R</span><span
class="hl-code"> = </span><span
class="hl-identifier">cot_P</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"> </span><span
class="hl-reserved">while</span><span
class="hl-brackets">(</span><span
class="hl-reserved">true</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">l</span><span
class="hl-code"> = </span><span
class="hl-identifier">Other</span><span
class="hl-brackets">(</span><span
class="hl-identifier">El</span><span
class="hl-code">, </span><span
class="hl-identifier">O</span><span
class="hl-brackets">)</span><span
class="hl-code">; </span><span
class="hl-identifier">r</span><span
class="hl-code"> = </span><span
class="hl-identifier">Other</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Er</span><span
class="hl-code">, </span><span
class="hl-identifier">D</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-code">!</span><span
class="hl-identifier">BL</span><span
class="hl-code"> || </span><span
class="hl-brackets">(</span><span
class="hl-identifier">BL</span><span
class="hl-code"> &amp;&amp; </span><span
class="hl-identifier">BR</span><span
class="hl-code"> &amp;&amp; </span><span
class="hl-identifier">cot_R</span><span
class="hl-code"> &lt; </span><span
class="hl-identifier">cot_L</span><span
class="hl-brackets">))</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"> </span><span
class="hl-identifier">B</span><span
class="hl-code"> = </span><span
class="hl-identifier">Join</span><span
class="hl-brackets">(</span><span
class="hl-identifier">B</span><span
class="hl-code">, </span><span
class="hl-identifier">O</span><span
class="hl-code">, </span><span
class="hl-identifier">Er</span><span
class="hl-code">, </span><span
class="hl-identifier">r</span><span
class="hl-code">, </span><span
class="hl-number">0</span><span
class="hl-brackets">)</span><span
class="hl-code">; </span><span
class="hl-identifier">D</span><span
class="hl-code"> = </span><span
class="hl-identifier">r</span><span
class="hl-code">; </span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">else</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"> </span><span
class="hl-identifier">B</span><span
class="hl-code"> = </span><span
class="hl-identifier">Join</span><span
class="hl-brackets">(</span><span
class="hl-identifier">El</span><span
class="hl-code">, </span><span
class="hl-identifier">l</span><span
class="hl-code">, </span><span
class="hl-identifier">B</span><span
class="hl-code">, </span><span
class="hl-identifier">D</span><span
class="hl-code">, </span><span
class="hl-number">0</span><span
class="hl-brackets">)</span><span
class="hl-code">; </span><span
class="hl-identifier">O</span><span
class="hl-code"> = </span><span
class="hl-identifier">l</span><span
class="hl-code">; </span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"> </span><span
class="hl-reserved">while</span><span
class="hl-brackets">(</span><span
class="hl-reserved">true</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/></span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;<br
/></span><span
class="hl-types">void</span><span
class="hl-code"> </span><span
class="hl-identifier">Divide</span><span
class="hl-brackets">(</span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">s</span><span
class="hl-code">, </span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">t</span><span
class="hl-code">, </span><span
class="hl-identifier">edge</span><span
class="hl-code"> **</span><span
class="hl-identifier">L</span><span
class="hl-code">, </span><span
class="hl-identifier">edge</span><span
class="hl-code"> **</span><span
class="hl-identifier">R</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">a</span><span
class="hl-code">, *</span><span
class="hl-identifier">b</span><span
class="hl-code">, *</span><span
class="hl-identifier">c</span><span
class="hl-code">, *</span><span
class="hl-identifier">ll</span><span
class="hl-code">, *</span><span
class="hl-identifier">lr</span><span
class="hl-code">, *</span><span
class="hl-identifier">rl</span><span
class="hl-code">, *</span><span
class="hl-identifier">rr</span><span
class="hl-code">, *</span><span
class="hl-identifier">tangent</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">n</span><span
class="hl-code"> = </span><span
class="hl-identifier">t</span><span
class="hl-code"> - </span><span
class="hl-identifier">s</span><span
class="hl-code"> + </span><span
class="hl-number">1</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">n</span><span
class="hl-code"> == </span><span
class="hl-number">2</span><span
class="hl-brackets">)</span><span
class="hl-code"> *</span><span
class="hl-identifier">L</span><span
class="hl-code"> = *</span><span
class="hl-identifier">R</span><span
class="hl-code"> = </span><span
class="hl-identifier">Make_edge</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Q</span><span
class="hl-brackets">[</span><span
class="hl-identifier">s</span><span
class="hl-brackets">]</span><span
class="hl-code">, </span><span
class="hl-identifier">Q</span><span
class="hl-brackets">[</span><span
class="hl-identifier">t</span><span
class="hl-brackets">])</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">else</span><span
class="hl-code"> </span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">n</span><span
class="hl-code"> == </span><span
class="hl-number">3</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">a</span><span
class="hl-code"> = </span><span
class="hl-identifier">Make_edge</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Q</span><span
class="hl-brackets">[</span><span
class="hl-identifier">s</span><span
class="hl-brackets">]</span><span
class="hl-code">, </span><span
class="hl-identifier">Q</span><span
class="hl-brackets">[</span><span
class="hl-identifier">s</span><span
class="hl-code"> + </span><span
class="hl-number">1</span><span
class="hl-brackets">])</span><span
class="hl-code">, </span><span
class="hl-identifier">b</span><span
class="hl-code"> = </span><span
class="hl-identifier">Make_edge</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Q</span><span
class="hl-brackets">[</span><span
class="hl-identifier">s</span><span
class="hl-code"> + </span><span
class="hl-number">1</span><span
class="hl-brackets">]</span><span
class="hl-code">, </span><span
class="hl-identifier">Q</span><span
class="hl-brackets">[</span><span
class="hl-identifier">t</span><span
class="hl-brackets">])</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">Splice</span><span
class="hl-brackets">(</span><span
class="hl-identifier">a</span><span
class="hl-code">, </span><span
class="hl-identifier">b</span><span
class="hl-code">, </span><span
class="hl-identifier">Q</span><span
class="hl-brackets">[</span><span
class="hl-identifier">s</span><span
class="hl-code"> + </span><span
class="hl-number">1</span><span
class="hl-brackets">])</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-types">double</span><span
class="hl-code"> </span><span
class="hl-identifier">v</span><span
class="hl-code"> = </span><span
class="hl-identifier">C3</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Q</span><span
class="hl-brackets">[</span><span
class="hl-identifier">s</span><span
class="hl-brackets">]</span><span
class="hl-code">, </span><span
class="hl-identifier">Q</span><span
class="hl-brackets">[</span><span
class="hl-identifier">s</span><span
class="hl-code"> + </span><span
class="hl-number">1</span><span
class="hl-brackets">]</span><span
class="hl-code">, </span><span
class="hl-identifier">Q</span><span
class="hl-brackets">[</span><span
class="hl-identifier">t</span><span
class="hl-brackets">])</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">v</span><span
class="hl-code"> &gt; </span><span
class="hl-number">0.0</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">c</span><span
class="hl-code"> = </span><span
class="hl-identifier">Join</span><span
class="hl-brackets">(</span><span
class="hl-identifier">a</span><span
class="hl-code">, </span><span
class="hl-identifier">Q</span><span
class="hl-brackets">[</span><span
class="hl-identifier">s</span><span
class="hl-brackets">]</span><span
class="hl-code">, </span><span
class="hl-identifier">b</span><span
class="hl-code">, </span><span
class="hl-identifier">Q</span><span
class="hl-brackets">[</span><span
class="hl-identifier">t</span><span
class="hl-brackets">]</span><span
class="hl-code">, </span><span
class="hl-number">0</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*</span><span
class="hl-identifier">L</span><span
class="hl-code"> = </span><span
class="hl-identifier">a</span><span
class="hl-code">; *</span><span
class="hl-identifier">R</span><span
class="hl-code"> = </span><span
class="hl-identifier">b</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">else</span><span
class="hl-code"> </span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">v</span><span
class="hl-code"> &lt; </span><span
class="hl-number">0.0</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">c</span><span
class="hl-code"> = </span><span
class="hl-identifier">Join</span><span
class="hl-brackets">(</span><span
class="hl-identifier">a</span><span
class="hl-code">, </span><span
class="hl-identifier">Q</span><span
class="hl-brackets">[</span><span
class="hl-identifier">s</span><span
class="hl-brackets">]</span><span
class="hl-code">, </span><span
class="hl-identifier">b</span><span
class="hl-code">, </span><span
class="hl-identifier">Q</span><span
class="hl-brackets">[</span><span
class="hl-identifier">t</span><span
class="hl-brackets">]</span><span
class="hl-code">, </span><span
class="hl-number">1</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*</span><span
class="hl-identifier">L</span><span
class="hl-code"> = </span><span
class="hl-identifier">c</span><span
class="hl-code">; *</span><span
class="hl-identifier">R</span><span
class="hl-code"> = </span><span
class="hl-identifier">c</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">else</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"> *</span><span
class="hl-identifier">L</span><span
class="hl-code"> = </span><span
class="hl-identifier">a</span><span
class="hl-code">; *</span><span
class="hl-identifier">R</span><span
class="hl-code"> = </span><span
class="hl-identifier">b</span><span
class="hl-code">; </span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">else</span><span
class="hl-code"> </span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">n</span><span
class="hl-code"> &gt; </span><span
class="hl-number">3</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">split</span><span
class="hl-code"> = </span><span
class="hl-brackets">(</span><span
class="hl-identifier">s</span><span
class="hl-code"> + </span><span
class="hl-identifier">t</span><span
class="hl-brackets">)</span><span
class="hl-code"> / </span><span
class="hl-number">2</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">Divide</span><span
class="hl-brackets">(</span><span
class="hl-identifier">s</span><span
class="hl-code">, </span><span
class="hl-identifier">split</span><span
class="hl-code">, &amp;</span><span
class="hl-identifier">ll</span><span
class="hl-code">, &amp;</span><span
class="hl-identifier">lr</span><span
class="hl-brackets">)</span><span
class="hl-code">; </span><span
class="hl-identifier">Divide</span><span
class="hl-brackets">(</span><span
class="hl-identifier">split</span><span
class="hl-code"> + </span><span
class="hl-number">1</span><span
class="hl-code">, </span><span
class="hl-identifier">t</span><span
class="hl-code">, &amp;</span><span
class="hl-identifier">rl</span><span
class="hl-code">, &amp;</span><span
class="hl-identifier">rr</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">Merge</span><span
class="hl-brackets">(</span><span
class="hl-identifier">lr</span><span
class="hl-code">, </span><span
class="hl-identifier">Q</span><span
class="hl-brackets">[</span><span
class="hl-identifier">split</span><span
class="hl-brackets">]</span><span
class="hl-code">, </span><span
class="hl-identifier">rl</span><span
class="hl-code">, </span><span
class="hl-identifier">Q</span><span
class="hl-brackets">[</span><span
class="hl-identifier">split</span><span
class="hl-code"> + </span><span
class="hl-number">1</span><span
class="hl-brackets">]</span><span
class="hl-code">, &amp;</span><span
class="hl-identifier">tangent</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Oi</span><span
class="hl-brackets">(</span><span
class="hl-identifier">tangent</span><span
class="hl-brackets">)</span><span
class="hl-code"> == </span><span
class="hl-identifier">Q</span><span
class="hl-brackets">[</span><span
class="hl-identifier">s</span><span
class="hl-brackets">])</span><span
class="hl-code"> </span><span
class="hl-identifier">ll</span><span
class="hl-code"> = </span><span
class="hl-identifier">tangent</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">Dt</span><span
class="hl-brackets">(</span><span
class="hl-identifier">tangent</span><span
class="hl-brackets">)</span><span
class="hl-code"> == </span><span
class="hl-identifier">Q</span><span
class="hl-brackets">[</span><span
class="hl-identifier">t</span><span
class="hl-brackets">])</span><span
class="hl-code"> </span><span
class="hl-identifier">rr</span><span
class="hl-code"> = </span><span
class="hl-identifier">tangent</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;*</span><span
class="hl-identifier">L</span><span
class="hl-code"> = </span><span
class="hl-identifier">ll</span><span
class="hl-code">; *</span><span
class="hl-identifier">R</span><span
class="hl-code"> = </span><span
class="hl-identifier">rr</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/></span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;<br
/></span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">main</span><span
class="hl-brackets">()</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">while</span><span
class="hl-brackets">(</span><span
class="hl-identifier">scanf</span><span
class="hl-brackets">(</span><span
class="hl-quotes">&quot;</span><span
class="hl-string">%d</span><span
class="hl-quotes">&quot;</span><span
class="hl-code">, &amp;</span><span
class="hl-identifier">N</span><span
class="hl-brackets">)</span><span
class="hl-code"> != </span><span
class="hl-identifier">EOF</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">if</span><span
class="hl-brackets">(</span><span
class="hl-identifier">N</span><span
class="hl-code"> == </span><span
class="hl-number">1</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">printf</span><span
class="hl-brackets">(</span><span
class="hl-quotes">&quot;</span><span
class="hl-string">0.0000n</span><span
class="hl-quotes">&quot;</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">continue</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">Alloc_memory</span><span
class="hl-brackets">()</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">for</span><span
class="hl-brackets">(</span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">i</span><span
class="hl-code"> = </span><span
class="hl-number">0</span><span
class="hl-code">; </span><span
class="hl-identifier">i</span><span
class="hl-code"> &lt; </span><span
class="hl-identifier">N</span><span
class="hl-code">; ++</span><span
class="hl-identifier">i</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-brackets">{</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">scanf</span><span
class="hl-brackets">(</span><span
class="hl-quotes">&quot;</span><span
class="hl-string">%d %d</span><span
class="hl-quotes">&quot;</span><span
class="hl-code">, &amp;</span><span
class="hl-identifier">p</span><span
class="hl-brackets">[</span><span
class="hl-identifier">i</span><span
class="hl-brackets">]</span><span
class="hl-code">.</span><span
class="hl-identifier">x</span><span
class="hl-code">, &amp;</span><span
class="hl-identifier">p</span><span
class="hl-brackets">[</span><span
class="hl-identifier">i</span><span
class="hl-brackets">]</span><span
class="hl-code">.</span><span
class="hl-identifier">y</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">p</span><span
class="hl-brackets">[</span><span
class="hl-identifier">i</span><span
class="hl-brackets">]</span><span
class="hl-code">.</span><span
class="hl-identifier">in</span><span
class="hl-code"> = </span><span
class="hl-prepro">NULL</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">sort</span><span
class="hl-brackets">(</span><span
class="hl-identifier">p</span><span
class="hl-code">, </span><span
class="hl-identifier">p</span><span
class="hl-code"> + </span><span
class="hl-identifier">N</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-reserved">for</span><span
class="hl-brackets">(</span><span
class="hl-types">int</span><span
class="hl-code"> </span><span
class="hl-identifier">i</span><span
class="hl-code"> = </span><span
class="hl-number">0</span><span
class="hl-code">; </span><span
class="hl-identifier">i</span><span
class="hl-code"> &lt; </span><span
class="hl-identifier">N</span><span
class="hl-code">; </span><span
class="hl-identifier">i</span><span
class="hl-code">++</span><span
class="hl-brackets">)</span><span
class="hl-code"> </span><span
class="hl-identifier">Q</span><span
class="hl-brackets">[</span><span
class="hl-identifier">i</span><span
class="hl-brackets">]</span><span
class="hl-code"> = </span><span
class="hl-identifier">p</span><span
class="hl-code"> + </span><span
class="hl-identifier">i</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">edge</span><span
class="hl-code"> *</span><span
class="hl-identifier">L</span><span
class="hl-code">, *</span><span
class="hl-identifier">R</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">Divide</span><span
class="hl-brackets">(</span><span
class="hl-number">0</span><span
class="hl-code">, </span><span
class="hl-identifier">N</span><span
class="hl-code"> - </span><span
class="hl-number">1</span><span
class="hl-code">, &amp;</span><span
class="hl-identifier">L</span><span
class="hl-code">, &amp;</span><span
class="hl-identifier">R</span><span
class="hl-brackets">)</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">M</span><span
class="hl-code"> = </span><span
class="hl-number">0</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">Make_Graph</span><span
class="hl-brackets">()</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span
class="hl-identifier">Kruskal</span><span
class="hl-brackets">()</span><span
class="hl-code">;<br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-brackets">}</span><span
class="hl-code"><br
/>&nbsp;&nbsp; &nbsp;</span><span
class="hl-reserved">return</span><span
class="hl-code"> </span><span
class="hl-number">0</span><span
class="hl-code">;<br
/></span><span
class="hl-brackets">}</span></div></div></div> ]]></content:encoded> <wfw:commentRss>http://gccfeli.cn/2008/02/delaunay-triangulation.html/feed</wfw:commentRss> <slash:comments>9</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced) (user agent is rejected)
Database Caching 11/15 queries in 0.005 seconds using disk

Served from: gccfeli.cn @ 2012-05-22 08:41:18 -->
