<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>programming challenge: fewest characters</title>
		<link>http://www.allegro.cc/forums/view/427371</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Fri, 12 Nov 2004 05:39:29 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Its time for another programming challenge. The idea is to solve the given question with the fewest number of characters, in <b>any</b> language. Whitespace will be removed for counting, so dont bother to make your code look clean in the thread.</p><p>The problem:<br />Given an ascii text file with a list of names( first, last ), generate a table where anyone with the same last name is assumed to be related and the first names put underneath the last name, indented by one tab. Order doesnt matter<br />If the text file is this:
</p><div class="source-code snippet"><div class="inner"><pre>jane fonda
chuck norris
ted fonda
kyle boop
</pre></div></div><p>
The result should look like
</p><div class="source-code snippet"><div class="inner"><pre>fonda
   jane
   ted
boop kyle
norris chuck
</pre></div></div><p>
Ordering of last names is arbitrary. Ill post an answer later on.</p><p>Remember, any language and fewest number of characters. Or feel free to come up with a better problem.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kazzmir)</author>
		<pubDate>Sat, 06 Nov 2004 04:14:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>Whitespace will be removed for counting, so dont bother to make your code look clean in the thread.</p></div></div><p>

Here&#39;s my whitespace version of the code:</p><p>             <br />    <br />              </p><p>Since whitespace are not counted, I think I won.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (spellcaster)</author>
		<pubDate>Sat, 06 Nov 2004 05:07:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>Since whitespace are not counted, I think I won.</p></div></div><p>

Not if your whitespace program doesn&#39;t do what it needs to, which I don&#39;t think it does!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kris Allen)</author>
		<pubDate>Sat, 06 Nov 2004 05:22:45 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I tried it out in my secret compiler, and it worked. <img src="http://www.allegro.cc/forums/smileys/shocked.gif" alt=":o" /></p><p>But really, there should be a limitation on language used, or else there&#39;s no fair way to compare entries.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sat, 06 Nov 2004 05:25:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I agree. You could use VB.NET and it would kill most C/C++ programs due to the fact VB.NET does most of the work for you. It&#39;s not really fair. When you say table, what do you mean? You want this in a database, or just back into another file?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Rick)</author>
		<pubDate>Sat, 06 Nov 2004 05:27:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I dunno, i guess I&#39;ll try:
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;map&gt;</span></td></tr><tr><td class="number">2</td><td><span class="p">#include &lt;string&gt;</span></td></tr><tr><td class="number">3</td><td><span class="p">#include &lt;vector&gt;</span></td></tr><tr><td class="number">4</td><td><span class="k1">using</span> <span class="k1">namespace</span> std<span class="k2">;</span></td></tr><tr><td class="number">5</td><td>map<span class="k3">&lt;</span>string,vector<span class="k3">&lt;</span>string&gt;&gt; a<span class="k2">;</span></td></tr><tr><td class="number">6</td><td><span class="k1">void</span> main<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">7</td><td><span class="k2">{</span></td></tr><tr><td class="number">8</td><td>FILE <span class="k3">*</span>f <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"file.txt"</span>,<span class="s">"rb"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td><span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_313.html" target="_blank">feof</a><span class="k2">(</span>f<span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">10</td><td><span class="k2">{</span></td></tr><tr><td class="number">11</td><td><span class="k1">char</span> t<span class="k2">[</span><span class="n">9</span><span class="k2">]</span>,h<span class="k2">[</span><span class="n">9</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_353.html" target="_blank">fscanf</a><span class="k2">(</span>f, <span class="s">"%s %s\n"</span>,t,h<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>a<span class="k2">[</span>h<span class="k2">]</span>.push_back<span class="k2">(</span>t<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td><span class="k2">}</span></td></tr><tr><td class="number">15</td><td>&#160;</td></tr><tr><td class="number">16</td><td><span class="k1">for</span><span class="k2">(</span>map<span class="k3">&lt;</span>string,vector<span class="k3">&lt;</span>string&gt;&gt;::iterator q <span class="k3">=</span> a.begin<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> q <span class="k3">!</span><span class="k3">=</span> a.end<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>q<span class="k2">)</span></td></tr><tr><td class="number">17</td><td><span class="k2">{</span></td></tr><tr><td class="number">18</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"%s\n"</span>, q-&gt;second.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td><span class="k1">for</span><span class="k2">(</span>vector<span class="k3">&lt;</span>string&gt;::iterator o <span class="k3">=</span> q-&gt;second.begin<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> o <span class="k3">!</span><span class="k3">=</span> q-&gt;second.end<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>o<span class="k2">)</span></td></tr><tr><td class="number">20</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"\t%s\n"</span>, o-&gt;c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td><span class="k2">}</span></td></tr><tr><td class="number">22</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Billybob)</author>
		<pubDate>Sat, 06 Nov 2004 05:28:06 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I can do it in Ruby, Perl or VB. In C or C++ would take too much. Off home right now, will post those solutions in around 3 hours (remember, I voted the over 4 hours of travelling to work in a poll here time ago <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Sat, 06 Nov 2004 05:29:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
Obfuscated Haskell for everyone!</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td>s b <span class="k2">(</span>q:r<span class="k2">)</span> <span class="k3">=</span> s <span class="k2">(</span>z q b<span class="k2">)</span> r</td></tr><tr><td class="number">2</td><td>s a <span class="k2">[</span><span class="k2">]</span> <span class="k3">=</span> a</td></tr><tr><td class="number">3</td><td>z <span class="k2">(</span>f:l:_<span class="k2">)</span> <span class="k2">(</span><span class="k2">(</span>a,c<span class="k2">)</span><span class="k2">:</span>b<span class="k2">)</span></td></tr><tr><td class="number">4</td><td>  <span class="k3">|</span> a <span class="k3">=</span><span class="k3">=</span> l <span class="k3">=</span> <span class="k2">(</span><span class="k2">(</span>a,f:c<span class="k2">)</span><span class="k2">:</span>b<span class="k2">)</span></td></tr><tr><td class="number">5</td><td>  <span class="k3">|</span> True <span class="k3">=</span> <span class="k2">(</span>a,c<span class="k2">)</span><span class="k2">:</span><span class="k2">(</span>z <span class="k2">(</span>f:<span class="k2">[</span>l<span class="k2">]</span><span class="k2">)</span> b<span class="k2">)</span></td></tr><tr><td class="number">6</td><td>z <span class="k2">(</span>f:l:_<span class="k2">)</span> <span class="k2">[</span><span class="k2">]</span> <span class="k3">=</span> <span class="k2">[</span><span class="k2">(</span>l,<span class="k2">[</span>f<span class="k2">]</span><span class="k2">)</span><span class="k2">]</span></td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td>o <span class="k2">(</span><span class="k2">(</span>l,f<span class="k2">)</span><span class="k2">:</span>r<span class="k2">)</span> <span class="k3">=</span> <span class="k2">(</span>l<span class="k3">+</span><span class="k3">+</span><span class="k2">(</span>y f<span class="k2">)</span><span class="k3">+</span><span class="k3">+</span><span class="s">"\n"</span><span class="k2">)</span><span class="k3">+</span><span class="k3">+</span><span class="k2">(</span>o r<span class="k2">)</span></td></tr><tr><td class="number">9</td><td>o <span class="k2">[</span><span class="k2">]</span> <span class="k3">=</span> <span class="k2">[</span><span class="k2">]</span></td></tr><tr><td class="number">10</td><td>y <span class="k2">(</span>a:<span class="k2">[</span><span class="k2">]</span><span class="k2">)</span> <span class="k3">=</span> <span class="s">' '</span><span class="k2">:</span>a</td></tr><tr><td class="number">11</td><td>y <span class="k2">(</span>a:b<span class="k2">)</span> <span class="k3">=</span> m <span class="k2">(</span>a:b<span class="k2">)</span></td></tr><tr><td class="number">12</td><td>m <span class="k2">(</span>a:b<span class="k2">)</span> <span class="k3">=</span> <span class="k2">(</span><span class="s">"\n\t"</span><span class="k3">+</span><span class="k3">+</span>a<span class="k2">)</span><span class="k3">+</span><span class="k3">+</span><span class="k2">(</span>m b<span class="k2">)</span></td></tr><tr><td class="number">13</td><td>m <span class="k2">[</span><span class="k2">]</span> <span class="k3">=</span> <span class="k2">[</span><span class="k2">]</span></td></tr><tr><td class="number">14</td><td>&#160;</td></tr><tr><td class="number">15</td><td>g <span class="k3">=</span> o . <span class="k2">(</span>s <span class="k2">[</span><span class="k2">]</span><span class="k2">)</span> . <span class="k2">(</span>map words<span class="k2">)</span> . lines</td></tr><tr><td class="number">16</td><td>&#160;</td></tr><tr><td class="number">17</td><td>main <span class="k3">=</span> <span class="k1">do</span></td></tr><tr><td class="number">18</td><td>  x <span class="k3">&lt;</span><span class="k3">-</span> readFile <span class="s">"foo.txt"</span></td></tr><tr><td class="number">19</td><td>  putStr <span class="k2">(</span>g x<span class="k2">)</span></td></tr></tbody></table></div></div><p>

EDIT: Made it somewhat shorter.<br />EDIT2: Made it even shorter...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Sat, 06 Nov 2004 05:34:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code snippet"><div class="inner"><pre><span class="k3">&lt;</span>?
        foreach <span class="k2">(</span>file<span class="k2">(</span><span class="s">"n"</span><span class="k2">)</span> as $l<span class="k2">)</span>
        <span class="k2">{</span>
                $p <span class="k3">=</span> split<span class="k2">(</span><span class="s">" |\n"</span>, $l<span class="k2">)</span><span class="k2">;</span>
                $n<span class="k2">[</span>$p<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span><span class="k2">[</span><span class="k2">]</span> <span class="k3">=</span> $p<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">;</span>
        <span class="k2">}</span>
        foreach <span class="k2">(</span>$n as $a<span class="k3">=</span><span class="k3">&gt;</span>$z<span class="k2">)</span>
                foreach <span class="k2">(</span>$z as $i<span class="k3">=</span><span class="k3">&gt;</span>$p<span class="k2">)</span> echo <span class="k2">(</span>$z<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> ? $i?<span class="s">"\t"</span><span class="k2">:</span><span class="s">"$a\n\t"</span> <span class="k2">:</span> <span class="s">"$a "</span><span class="k2">)</span> .<span class="s">"$p\n"</span><span class="k2">;</span>
?<span class="k3">&gt;</span>
</pre></div></div><p>

Note: disable debug &quot;notices&quot; when running.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sat, 06 Nov 2004 05:37:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>baf langauge
</p><div class="source-code snippet"><div class="inner"><pre><span class="k2">(</span><span class="k3">*</span>%<span class="k2">)</span>#<span class="k3">*</span><span class="k2">)</span>R<span class="k2">(</span>#<span class="k3">*</span><span class="k2">(</span><span class="k2">)</span>#F<span class="k3">*</span>I<span class="k2">(</span><span class="k2">)</span>R#<span class="k2">)</span>T#<span class="k3">*</span>%<span class="k2">(</span><span class="k2">)</span>#<span class="k3">*</span><span class="k2">)</span>%<span class="k3">&amp;</span><span class="k2">(</span>#<span class="k3">*</span><span class="k3">&amp;</span><span class="k2">(</span><span class="k3">*</span><span class="k2">)</span>R#^T#@^#T<span class="k2">)</span><span class="s">"|::|:}|:}{|#58927389u*(&amp;*(#%&amp;(*35</span>
</pre></div></div><p>

and in elite c++: (care of l33t-sp34k g3n3r4t0r)
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#INCluDe &lt;m4P&gt;</span></td></tr><tr><td class="number">2</td><td><span class="p">#1nClUD3 &lt;S+RiN9&gt;</span></td></tr><tr><td class="number">3</td><td><span class="p">#iNCLuDE &lt;veCtOr&gt;</span></td></tr><tr><td class="number">4</td><td>uS1N9 NAm35P@C3 <span class="n">5</span>tD<span class="k2">;</span></td></tr><tr><td class="number">5</td><td>m4P<span class="k3">&lt;</span>StR1NG,V3C<span class="k3">+</span><span class="n">0</span>r<span class="k3">&lt;</span>S<span class="k3">+</span>R1N9&gt;&gt; <span class="n">4</span><span class="k2">;</span></td></tr><tr><td class="number">6</td><td>v0ID m@<span class="n">1</span>N<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">7</td><td><span class="k2">{</span></td></tr><tr><td class="number">8</td><td>F1lE <span class="k3">*</span>f <span class="k3">=</span> PhOpEN<span class="k2">(</span><span class="s">"PHiLe.TXT"</span>,<span class="s">"RB"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td>wH1lE<span class="k2">(</span><span class="k3">!</span>Ph3oPh<span class="k2">(</span>ph<span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">10</td><td><span class="k2">{</span></td></tr><tr><td class="number">11</td><td>Ch4r t<span class="k2">[</span><span class="n">9</span><span class="k2">]</span>,h<span class="k2">[</span><span class="n">9</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>Ph$C@nF<span class="k2">(</span>ph, <span class="s">"%5 %S\N"</span>,T,h<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td><span class="n">4</span><span class="k2">[</span>H<span class="k2">]</span>.pU5H_BaCK<span class="k2">(</span><span class="k3">+</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td><span class="k2">}</span></td></tr><tr><td class="number">15</td><td>&#160;</td></tr><tr><td class="number">16</td><td>PH0R<span class="k2">(</span>m4p<span class="k3">&lt;</span>STrING,vEc<span class="k3">+</span><span class="n">0</span>r<span class="k3">&lt;</span>$<span class="k3">+</span>riN9&gt;&gt;::1<span class="k3">+</span><span class="n">3</span>R4T0R Q <span class="k3">=</span> A.B3gIn<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> Q <span class="k3">!</span><span class="k3">=</span> A.3nd<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>Q<span class="k2">)</span></td></tr><tr><td class="number">17</td><td><span class="k2">{</span></td></tr><tr><td class="number">18</td><td>Pr1N<span class="k3">+</span>f<span class="k2">(</span><span class="s">"%S\n"</span>, q-&gt;5eC0nd.c_$<span class="k3">+</span>R<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td>fOR<span class="k2">(</span>veC<span class="k3">+</span><span class="n">0</span>r<span class="k3">&lt;</span>$Tr1N9&gt;::1T3R4tor <span class="n">0</span> <span class="k3">=</span> Q-&gt;53C0nd.b391n<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> o <span class="k3">!</span><span class="k3">=</span> Q-&gt;5Ec0ND.3nD<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>o<span class="k2">)</span></td></tr><tr><td class="number">20</td><td>pRInTf<span class="k2">(</span><span class="s">"\+%5\n"</span>, O-&gt;C_5TR<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td><span class="k2">}</span></td></tr><tr><td class="number">22</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

remember, you have to use the elite g++ port...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Sat, 06 Nov 2004 05:39:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code snippet"><div class="inner"><pre><span class="p">#/bin/bash</span>
cat file.txt<span class="k3">|</span>decapitalise<span class="k3">|</span>sort<span class="k3">|</span>dostuff<span class="k3">|</span>playwith <span class="k3">&gt;</span> <span class="k3">/</span>dev<span class="k3">/</span>tty1
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LSd016)</author>
		<pubDate>Sat, 06 Nov 2004 05:47:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well, I thought about doing it in C++, but William Heatley already did so, I took his code and chopped it down a little.  </p><p>Wacko C++
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;map&gt;</span></td></tr><tr><td class="number">2</td><td><span class="p">#include &lt;string&gt;</span></td></tr><tr><td class="number">3</td><td><span class="p">#include &lt;vector&gt;</span></td></tr><tr><td class="number">4</td><td><span class="k1">using</span> <span class="k1">namespace</span> std<span class="k2">;</span></td></tr><tr><td class="number">5</td><td><span class="p">#define f(t,x,y) for(t::iterator x = y.begin();x != y.end();x++) {</span></td></tr><tr><td class="number">6</td><td><span class="p">#define l typedef;</span></td></tr><tr><td class="number">7</td><td>l vector<span class="k3">&lt;</span>string&gt; v<span class="k2">;</span></td></tr><tr><td class="number">8</td><td>l map<span class="k3">&lt;</span>string,v&gt; z<span class="k2">;</span></td></tr><tr><td class="number">9</td><td>z a<span class="k2">;</span></td></tr><tr><td class="number">10</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">11</td><td><span class="k2">{</span></td></tr><tr><td class="number">12</td><td>FILE <span class="k3">*</span>f <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"f"</span>,<span class="s">"r"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td><span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_313.html" target="_blank">feof</a><span class="k2">(</span>f<span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">14</td><td><span class="k2">{</span></td></tr><tr><td class="number">15</td><td><span class="k1">char</span> t<span class="k2">[</span><span class="n">9</span><span class="k2">]</span>,h<span class="k2">[</span><span class="n">9</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_353.html" target="_blank">fscanf</a><span class="k2">(</span>f, <span class="s">"%s %s\n"</span>,t,h<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>a<span class="k2">[</span>h<span class="k2">]</span>.push_back<span class="k2">(</span>t<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td><span class="k2">}</span></td></tr><tr><td class="number">19</td><td>&#160;</td></tr><tr><td class="number">20</td><td>f<span class="k2">(</span>z,q,a<span class="k2">)</span></td></tr><tr><td class="number">21</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"%s\n"</span>, q-&gt;first.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>f<span class="k2">(</span>v,o,q-&gt;second<span class="k2">)</span></td></tr><tr><td class="number">23</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"\t%s\n"</span>, o-&gt;c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td><span class="k2">}</span></td></tr><tr><td class="number">25</td><td><span class="k2">}</span></td></tr><tr><td class="number">26</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Wetimer)</author>
		<pubDate>Sat, 06 Nov 2004 06:09:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><a href="http://compsoc.dur.ac.uk/whitespace/">I think Spellcaster wins this one.</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Goodbytes)</author>
		<pubDate>Sat, 06 Nov 2004 06:32:42 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Except while Whitespace can deal with input, it cannot read from files, which is a requirement.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Wetimer)</author>
		<pubDate>Sat, 06 Nov 2004 06:49:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Willam: your code doesn&#39;t compile <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />  I made it compile but the output generated is not the one the problem defines (same would apply to derivative work <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />).</p><p>Here&#39;s mine. Base on William&#39;s, but it compiles and generates correct output:</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;map&gt;</span></td></tr><tr><td class="number">2</td><td><span class="p">#include &lt;string&gt;</span></td></tr><tr><td class="number">3</td><td><span class="p">#include &lt;vector&gt;</span></td></tr><tr><td class="number">4</td><td><span class="p">#include &lt;fstream&gt;</span></td></tr><tr><td class="number">5</td><td><span class="p">#include &lt;iostream&gt;</span></td></tr><tr><td class="number">6</td><td>&#160;</td></tr><tr><td class="number">7</td><td><span class="k1">using</span> <span class="k1">namespace</span> std<span class="k2">;</span></td></tr><tr><td class="number">8</td><td>&#160;</td></tr><tr><td class="number">9</td><td><span class="p">#define F(a, b, c) for(a::iterator b = c.begin(); b != c.end(); ++b)</span></td></tr><tr><td class="number">10</td><td><span class="p">#define M map&lt;S,V &gt;</span></td></tr><tr><td class="number">11</td><td><span class="p">#define V vector&lt;S&gt;</span></td></tr><tr><td class="number">12</td><td><span class="p">#define S string</span></td></tr><tr><td class="number">13</td><td><span class="p">#define C cout &lt;&lt;</span></td></tr><tr><td class="number">14</td><td><span class="p">#define D -&gt;second</span></td></tr><tr><td class="number">15</td><td>&#160;</td></tr><tr><td class="number">16</td><td>M m<span class="k2">;</span></td></tr><tr><td class="number">17</td><td>main<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">18</td><td><span class="k2">{</span></td></tr><tr><td class="number">19</td><td>    ifstream f<span class="k2">(</span><span class="s">"file.txt"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td>    <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span>f.eof<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">21</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">22</td><td>        S a,b<span class="k2">;</span></td></tr><tr><td class="number">23</td><td>        f <span class="k3">&gt;</span><span class="k3">&gt;</span> a <span class="k3">&gt;</span><span class="k3">&gt;</span> b<span class="k2">;</span></td></tr><tr><td class="number">24</td><td>        m<span class="k3">&lt;</span>b&gt;.push_back<span class="k2">(</span>a<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">26</td><td>&#160;</td></tr><tr><td class="number">27</td><td>    F<span class="k2">(</span>M, q, m<span class="k2">)</span>    </td></tr><tr><td class="number">28</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">29</td><td>        C q-&gt;first<span class="k2">;</span></td></tr><tr><td class="number">30</td><td>        <span class="k1">if</span> <span class="k2">(</span>q D.size<span class="k2">(</span><span class="k2">)</span> <span class="k3">&gt;</span> <span class="n">1</span><span class="k2">)</span></td></tr><tr><td class="number">31</td><td>        <span class="k2">{</span></td></tr><tr><td class="number">32</td><td>            C endl<span class="k2">;</span></td></tr><tr><td class="number">33</td><td>            F<span class="k2">(</span>V, o, q D<span class="k2">)</span></td></tr><tr><td class="number">34</td><td>                C <span class="s">"\t"</span> <span class="k3">+</span> <span class="k3">*</span>o <span class="k3">&lt;</span><span class="k3">&lt;</span> endl<span class="k2">;</span></td></tr><tr><td class="number">35</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">36</td><td>        <span class="k1">else</span></td></tr><tr><td class="number">37</td><td>            C <span class="s">" "</span> <span class="k3">+</span> q D<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> endl<span class="k2">;</span></td></tr><tr><td class="number">38</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">39</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

[edit]<br /><i>#define I ::iterator</i> wasn&#39;t good anymore.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Oscar Giner)</author>
		<pubDate>Sat, 06 Nov 2004 06:52:47 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Python&#39;s list comprehensions rock!</p><div class="source-code snippet"><div class="inner"><pre>import string
n <span class="k3">=</span> dict<span class="k2">(</span><span class="k2">[</span>string.split<span class="k2">(</span>i<span class="k2">)</span> <span class="k1">for</span> i in <a href="http://www.delorie.com/djgpp/doc/libc/libc_600.html" target="_blank">open</a><span class="k2">(</span><span class="s">'names.txt'</span><span class="k2">)</span>.readlines<span class="k2">(</span><span class="k2">)</span><span class="k2">]</span><span class="k2">)</span>
<span class="k1">for</span> x,y in dict<span class="k2">(</span><span class="k2">[</span><span class="k2">(</span>v,string.join<span class="k2">(</span> <span class="k2">[</span><span class="s">''</span><span class="k2">]</span><span class="k3">+</span><span class="k2">[</span>k <span class="k1">for</span> k in n.keys<span class="k2">(</span><span class="k2">)</span>
    <span class="k1">if</span> v<span class="k3">=</span><span class="k3">=</span>n<span class="k2">[</span>k<span class="k2">]</span> <span class="k2">]</span>,<span class="s">"\n   "</span><span class="k2">)</span><span class="k2">)</span><span class="k1">for</span> v in n.values<span class="k2">(</span><span class="k2">)</span> <span class="k2">]</span><span class="k2">)</span>.iteritems<span class="k2">(</span><span class="k2">)</span><span class="k2">:</span> print x,y
</pre></div></div><p>


And so clear and readable.. heh</p><p>--Joel
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Joel Davis)</author>
		<pubDate>Sat, 06 Nov 2004 06:57:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Bah, C++ is so primitive compared to PHP. <img src="http://www.allegro.cc/forums/smileys/cool.gif" alt="8-)" /></p><p>I would think a Perl nerd could get the shortest working code.</p><p>Joel: I get invalid syntax on yours...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sat, 06 Nov 2004 06:58:33 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>Except while Whitespace can deal with input, it cannot read from files, which is a requirement.</p></div></div><p>
Why? There&#39;s no requirement that you have to load that file, so a
</p><div class="source-code snippet"><div class="inner"><pre>type foo.txt <span class="k3">&gt;</span> parse
</pre></div></div><p>
does the trick of reading the names from that file.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (spellcaster)</author>
		<pubDate>Sat, 06 Nov 2004 07:00:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Solution to this problem in Tytwggfdtyuqfef++++-- programming language:
</p><div class="source-code snippet"><div class="inner"><pre>
</pre></div></div><p>
Nobody said that inventing new high level language is forbidden - specification isn&#39;t complete yet, but it already can solve this problem. <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" /></p><p>(and no, language name is not a polish word) <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Krzysztof Kluczek)</author>
		<pubDate>Sat, 06 Nov 2004 07:01:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hmm.. i&#39;m using python 2.3.4, I think list comprehensions are pretty recent, anything above python 2.1 should work tho...</p><p>And perl could probably do way less characters, it&#39;s just sooo distasteful.</p><p>edit: oops, i&#39;m using iteritem() so you need python 2.1 for that </p><p>edit2: attached the py file as an attachment so you don&#39;t have to worry about formatting cut/paste errors.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Joel Davis)</author>
		<pubDate>Sat, 06 Nov 2004 07:08:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You lie.</p><p>&quot;Tytwggfdtyuqfef&quot; == &quot;barman, pour me another!&quot;
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LSd016)</author>
		<pubDate>Sat, 06 Nov 2004 07:10:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
The idea is to solve the given question with the fewest number of characters
</p></div></div><p>

</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
#define F(a, b, c) for(a::iterator b = c.begin(); b != c.end(); ++b)<br />#define M map&lt;S,V &gt;<br />#define V vector&lt;S&gt;<br />#define S string<br />#define C cout &lt;&lt;<br />#define D -&gt;second
</p></div></div><p>

I&#39;m assuming he didn&#39;t think about this as being whitespace. If that was the case you could do everything with 1 call. <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>[EDIT]<br />Anyone ever highlight the smiley face? It turns into an angry chinese person.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Rick)</author>
		<pubDate>Sat, 06 Nov 2004 07:16:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yeah, yeah, yeah. Enough of the funnies.</p><p>Ok,
</p><pre>
  File &quot;test.py&quot;, line 2
    n = dict([string.split(i) for i in open(&#39;names.txt&#39;).readlines()])
                                ^
SyntaxError: invalid syntax
</pre><p>

Disclaimer: I&#39;m not familiar with Python.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sat, 06 Nov 2004 07:17:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
I&#39;m assuming he didn&#39;t think about this as being whitespace. If that was the case you could do everything with 1 call.
</p></div></div><p>
No, that part also counts. But it&#39;s smaller doing that.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Oscar Giner)</author>
		<pubDate>Sat, 06 Nov 2004 07:22:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I would take out #define S string since you only use string once in your code, you are wasting 8 characters. That&#39;s why I thought you didn&#39;t think it counted. Trying to help.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Rick)</author>
		<pubDate>Sat, 06 Nov 2004 07:31:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;d love to see someone solve this in J <a href="http://www.jsoftware.com/">(link)</a> or APL, the most concise programming language in existance. (J is like APL without the need for a special font)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Joel Davis)</author>
		<pubDate>Sat, 06 Nov 2004 07:31:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Rick: look better. I use <i>string</i> three times.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Oscar Giner)</author>
		<pubDate>Sat, 06 Nov 2004 07:35:14 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Sorry, missed it in those #defines.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Rick)</author>
		<pubDate>Sat, 06 Nov 2004 07:52:02 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>oh yeah? I just invented baf++. The compiler is still under development, but it has built in support for <b>everything</b> <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>Its syntax is similar to c, but is as highlevel as anything can get. I have alraedy ported allegro 5 to it.</p><div class="source-code snippet"><div class="inner"><pre><span class="p">#include &lt;allegro5.h&gt;</span>
read_mind<span class="k2">(</span>do_first_last_name_sorting_stuff<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
END_OF_PROGRAM<span class="k2">(</span><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Sat, 06 Nov 2004 08:30:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Bah. I stole an advanced copy of Allegro 5 from Bob when he moved from Canada. It works in plain C. BTW, you&#39;re not taking advantage of hardware acceleration that way. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /><br /><span class="source-code"><span class="p">#include &lt;allegro/allegro5.h&gt;</span></span>*thinks*
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kitty Cat)</author>
		<pubDate>Sat, 06 Nov 2004 08:32:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Had to find the right .NET class that simulated a stl map</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td>Imports System.IO</td></tr><tr><td class="number">2</td><td>Imports System.Collections.Specialized</td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td>Module Module1</td></tr><tr><td class="number">5</td><td>    Sub Main<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">6</td><td>        Dim f As StreamReader <span class="k3">=</span> File.OpenText<span class="k2">(</span><span class="s">"File.txt"</span><span class="k2">)</span></td></tr><tr><td class="number">7</td><td>        Dim a As New NameValueCollection</td></tr><tr><td class="number">8</td><td>        Dim i, j As Integer</td></tr><tr><td class="number">9</td><td>        Do Until f.Peek <span class="k3">=</span> <span class="k3">-</span><span class="n">1</span></td></tr><tr><td class="number">10</td><td>            Dim str<span class="k2">(</span><span class="k2">)</span> As String <span class="k3">=</span> f.ReadLine<span class="k2">(</span><span class="k2">)</span>.Split<span class="k2">(</span><span class="s">" "</span><span class="k2">)</span></td></tr><tr><td class="number">11</td><td>            a.Add<span class="k2">(</span>str<span class="k2">(</span><span class="n">1</span><span class="k2">)</span>, str<span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">12</td><td>        Loop</td></tr><tr><td class="number">13</td><td>        Dim s<span class="k2">(</span><span class="k2">)</span> As String</td></tr><tr><td class="number">14</td><td>        s <span class="k3">=</span> a.AllKeys</td></tr><tr><td class="number">15</td><td>        For i <span class="k3">=</span> <span class="n">0</span> To s.Length <span class="k3">-</span> <span class="n">1</span></td></tr><tr><td class="number">16</td><td>            Dim str<span class="k2">(</span><span class="k2">)</span> As String <span class="k3">=</span> a.GetValues<span class="k2">(</span>s<span class="k2">(</span>i<span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">17</td><td>            If str.Length <span class="k3">&gt;</span> <span class="n">1</span> Then</td></tr><tr><td class="number">18</td><td>                Console.WriteLine<span class="k2">(</span>s<span class="k2">(</span>i<span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">19</td><td>                For j <span class="k3">=</span> <span class="n">0</span> To str.Length <span class="k3">-</span> <span class="n">1</span></td></tr><tr><td class="number">20</td><td>                    Console.WriteLine<span class="k2">(</span>Chr<span class="k2">(</span><span class="n">9</span><span class="k2">)</span> <span class="k3">&amp;</span> str<span class="k2">(</span>j<span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">21</td><td>                Next</td></tr><tr><td class="number">22</td><td>            Else</td></tr><tr><td class="number">23</td><td>                Console.WriteLine<span class="k2">(</span>s<span class="k2">(</span>i<span class="k2">)</span> <span class="k3">&amp;</span> <span class="s">" "</span> <span class="k3">&amp;</span> str<span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">24</td><td>            End If</td></tr><tr><td class="number">25</td><td>        Next</td></tr><tr><td class="number">26</td><td>        f.Close<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">27</td><td>    End Sub</td></tr><tr><td class="number">28</td><td>End Module</td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Rick)</author>
		<pubDate>Sat, 06 Nov 2004 08:41:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>BAH, My code is perfect!<br />Kay, I fixed the typos:
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;map&gt;</span></td></tr><tr><td class="number">2</td><td><span class="p">#include &lt;string&gt;</span></td></tr><tr><td class="number">3</td><td><span class="p">#include &lt;vector&gt;</span></td></tr><tr><td class="number">4</td><td><span class="k1">using</span> <span class="k1">namespace</span> std<span class="k2">;</span></td></tr><tr><td class="number">5</td><td>map<span class="k3">&lt;</span>string,vector<span class="k3">&lt;</span>string&gt; <span class="k3">&gt;</span> a<span class="k2">;</span></td></tr><tr><td class="number">6</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">7</td><td><span class="k2">{</span></td></tr><tr><td class="number">8</td><td>FILE <span class="k3">*</span>f <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"file.txt"</span>,<span class="s">"rb"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td><span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_313.html" target="_blank">feof</a><span class="k2">(</span>f<span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">10</td><td><span class="k2">{</span></td></tr><tr><td class="number">11</td><td><span class="k1">char</span> t<span class="k2">[</span><span class="n">9</span><span class="k2">]</span>,h<span class="k2">[</span><span class="n">9</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_353.html" target="_blank">fscanf</a><span class="k2">(</span>f, <span class="s">"%s %s\n"</span>,t,h<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>a<span class="k2">[</span>h<span class="k2">]</span>.push_back<span class="k2">(</span>t<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td><span class="k2">}</span></td></tr><tr><td class="number">15</td><td>&#160;</td></tr><tr><td class="number">16</td><td><span class="k1">for</span><span class="k2">(</span>map<span class="k3">&lt;</span>string,vector<span class="k3">&lt;</span>string&gt; <span class="k3">&gt;</span><span class="k2">:</span><span class="k2">:</span>iterator q <span class="k3">=</span> a.begin<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> q <span class="k3">!</span><span class="k3">=</span> a.end<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>q<span class="k2">)</span></td></tr><tr><td class="number">17</td><td><span class="k2">{</span></td></tr><tr><td class="number">18</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"%s\n"</span>, q-&gt;first.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td><span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> q-&gt;second.size<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>i<span class="k2">)</span></td></tr><tr><td class="number">20</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"\t%s\n"</span>, q-&gt;second<span class="k3">&lt;</span>i&gt;.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td><span class="k2">}</span></td></tr><tr><td class="number">22</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>I made it compile but the output generated is not the one the problem defines</p></div></div><p>
Just because the program doesn&#39;t output like the example, doesn&#39;t mean it isn&#39;t correct. The example given by the OP is incorrect:</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>generate a table where anyone with the same last name is assumed to be related and the first names <b>put underneath</b> the last name, indented by one tab.</p></div></div><p>

EDIT: Code updated as of...6:59 PM PST
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Billybob)</author>
		<pubDate>Sat, 06 Nov 2004 08:52:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hmm... I didn&#39;t like this Perl code too much. I notice I am the only one that respect the output format (if only one name with a surname, print them in the same line, otherwise print the surname first, and then all the names below) <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /> I use a hash to prevent repeating surnames too.</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td>my %h<span class="k2">;</span></td></tr><tr><td class="number">2</td><td>my @f<span class="k2">;</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_600.html" target="_blank">open</a><span class="k2">(</span>F, <span class="s">"&lt;test.txt"</span><span class="k2">)</span> <span class="k1">or</span> die $<span class="k3">!</span><span class="k2">;</span></td></tr><tr><td class="number">5</td><td>@f <span class="k3">=</span> <span class="k3">&lt;</span>F&gt;<span class="k2">;</span></td></tr><tr><td class="number">6</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_104.html" target="_blank">close</a><span class="k2">(</span>F<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td><span class="k1">while</span> <span class="k2">(</span>$_ <span class="k3">=</span> shift<span class="k2">(</span>@f<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">9</td><td>    my @s <span class="k3">=</span> split<span class="k2">;</span></td></tr><tr><td class="number">10</td><td>    my $f <span class="k3">=</span> <span class="s">" "</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>    my @i <span class="k3">=</span> @f<span class="k2">;</span></td></tr><tr><td class="number">12</td><td>    shift @i<span class="k2">;</span></td></tr><tr><td class="number">13</td><td>    next <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/exists" target="_blank"><span class="a">exists</span></a><span class="k2">(</span>%h-&gt;<span class="k2">{</span>$s<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">}</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>&#160;</td></tr><tr><td class="number">15</td><td>    print $s<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>    <span class="k1">for</span> <span class="k2">(</span>@i<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">17</td><td>        my @c <span class="k3">=</span> split<span class="k2">;</span></td></tr><tr><td class="number">18</td><td>        <span class="k1">if</span> <span class="k2">(</span>$s<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> eq $c<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">19</td><td>            print <span class="s">"\n    $c[0]"</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td>            $f <span class="k3">=</span> <span class="s">"\n    "</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">22</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">23</td><td>    print <span class="s">"$f$s[0]\n"</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td>    %h-&gt;<span class="k2">{</span>$s<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">}</span> <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Sat, 06 Nov 2004 11:10:46 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>I notice I am the only one that respect the output format (if only one name with a surname, print them in the same line, otherwise print the surname first, and then all the names below)</p></div></div><p>
Mine is right!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sat, 06 Nov 2004 11:22:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Awww... that is why I still don&#39;t understand PHP <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Sat, 06 Nov 2004 11:30:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>I notice I am the only one that respect the output format</p></div></div><p>

Mine also respects that output format. Go back and read my code. What&#39;s that you say? You can&#39;t figure it out? <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Sat, 06 Nov 2004 15:55:50 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>154 &lt;Php&gt; Matthew Leverton<br />178 &lt;Python&gt; Joel Davis<br />219 &lt;C++&gt; ImLeftFooted<br />240 &lt;Perl&gt; ReyBrujo<br />254 &lt;Haskell&gt; X-G<br />364 &lt;C++&gt; Winston Ewert<br />377 &lt;C++&gt; William Heatley<br />400 &lt;C++&gt; Oscar Giner<br />414 &lt;.NET&gt; Rick</p><p>Values calculated using `cat foo | tr -d &#39; &#39; | tr -d &#39;\t&#39; | tr -d &#39;\n&#39; | wc -c`</p><p>My entry:
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#define S string</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><span class="p">#include &lt;iostream&gt;</span></td></tr><tr><td class="number">4</td><td><span class="p">#include &lt;fstream&gt;</span></td></tr><tr><td class="number">5</td><td><span class="p">#include &lt;map&gt;</span></td></tr><tr><td class="number">6</td><td><span class="k1">using</span> <span class="k1">namespace</span> std<span class="k2">;</span></td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td>main <span class="k2">(</span> <span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">9</td><td>  map <span class="k3">&lt;</span> S, S <span class="k3">&gt;</span> p <span class="k2">;</span></td></tr><tr><td class="number">10</td><td>  </td></tr><tr><td class="number">11</td><td>  fstream s <span class="k2">(</span> <span class="s">"t"</span> <span class="k2">)</span> <span class="k2">;</span></td></tr><tr><td class="number">12</td><td>  </td></tr><tr><td class="number">13</td><td>  <span class="k1">for</span> <span class="k2">(</span> S e, x <span class="k2">;</span> s.good <span class="k2">(</span> <span class="k2">)</span> <span class="k2">;</span> p <span class="k2">[</span> x <span class="k2">]</span> <span class="k3">+</span><span class="k3">=</span> <span class="s">"  "</span> <span class="k3">+</span> e <span class="k3">+</span> <span class="s">"\n"</span> <span class="k2">)</span></td></tr><tr><td class="number">14</td><td>    s <span class="k3">&gt;</span><span class="k3">&gt;</span> e <span class="k3">&gt;</span><span class="k3">&gt;</span> x <span class="k2">;</span></td></tr><tr><td class="number">15</td><td>  </td></tr><tr><td class="number">16</td><td>  <span class="k1">for</span> <span class="k2">(</span> map <span class="k3">&lt;</span> S, S <span class="k3">&gt;</span> <span class="k2">:</span><span class="k2">:</span> iterator P <span class="k3">=</span> p.begin <span class="k2">(</span> <span class="k2">)</span> <span class="k2">;</span>  <span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span> P <span class="k2">)</span></td></tr><tr><td class="number">17</td><td>    cout <span class="k3">&lt;</span><span class="k3">&lt;</span> P <span class="k3">-</span><span class="k3">&gt;</span> first <span class="k3">&lt;</span><span class="k3">&lt;</span> P <span class="k3">-</span><span class="k3">&gt;</span> second <span class="k2">;</span></td></tr><tr><td class="number">18</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
I think I can safely say that mines the first thats trying to say something at the same time...</p><p>Also note that the instructions said nothing about how the program had to exit... <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /></p><p>Its also attatched to preserve the tabs if someone wants to compile it
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ImLeftFooted)</author>
		<pubDate>Sat, 06 Nov 2004 17:57:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>meh, another losing entry.. ill try again in a different language.</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_600.html" target="_blank">open</a><span class="k2">(</span> FILE, <span class="s">"&lt;n"</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">2</td><td><span class="k1">while</span> <span class="k2">(</span><span class="k3">&lt;</span>FILE&gt;<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">3</td><td>  s<span class="k3">/</span><span class="k2">(</span>\w<span class="k3">+</span><span class="k2">)</span>\s<span class="k3">*</span><span class="k2">(</span>\w<span class="k3">+</span><span class="k2">)</span><span class="k3">/</span>$f<span class="k3">=</span>$<span class="n">1</span><span class="k2">;</span>$l<span class="k3">=</span>$<span class="n">2</span><span class="k2">;</span><span class="k3">/</span>e<span class="k2">;</span></td></tr><tr><td class="number">4</td><td>  <span class="k1">if</span> <span class="k2">(</span> <span class="k3">!</span> defined<span class="k2">(</span> $tr<span class="k2">{</span>$l<span class="k2">}</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">5</td><td>    $tr<span class="k2">{</span>$l<span class="k2">}</span> <span class="k3">=</span> <span class="k2">[</span> $f <span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">6</td><td>  <span class="k2">}</span> <span class="k1">else</span> <span class="k2">{</span></td></tr><tr><td class="number">7</td><td>    $b <span class="k3">=</span> $tr<span class="k2">{</span>$l<span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">8</td><td>    push @$b, $f<span class="k2">;</span></td></tr><tr><td class="number">9</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">10</td><td><span class="k2">}</span></td></tr><tr><td class="number">11</td><td><span class="k1">while</span> <span class="k2">(</span> <span class="k2">(</span>$k,$h<span class="k2">)</span> <span class="k3">=</span> each<span class="k2">(</span>%tr<span class="k2">)</span> <span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">12</td><td>  print <span class="s">"$k "</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>  <span class="k1">if</span> <span class="k2">(</span> $#$h <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span> <span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">14</td><td>    print $$h<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> . <span class="s">"\n"</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>  <span class="k2">}</span> <span class="k1">else</span> <span class="k2">{</span></td></tr><tr><td class="number">16</td><td>    print <span class="s">"\n"</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>    <span class="k1">for</span> <span class="k2">(</span> @$h <span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">18</td><td>      print <span class="s">"\t$_\n"</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">20</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">21</td><td><span class="k2">}</span></td></tr><tr><td class="number">22</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_104.html" target="_blank">close</a><span class="k2">(</span> FILE <span class="k2">)</span><span class="k2">;</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kazzmir)</author>
		<pubDate>Sat, 06 Nov 2004 20:55:14 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
Fear not! Me and Jolle are working on a compacted version of my Haskell entry above. So far we&#39;re down to 173 characters.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Sat, 06 Nov 2004 20:58:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
I notice I am the only one that respect the output format (if only one name with a surname, print them in the same line, otherwise print the surname first, and then all the names below)
</p></div></div><p>
And mine also respects it <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
364 &lt;C++&gt; Winston Ewert<br />377 &lt;C++&gt; William Heatley<br />400 &lt;C++&gt; Oscar Giner
</p></div></div><p>
Note that Winston and Williams&#39;s code doesn&#39;t produce the correct output. Neither yours does (and it crashes) <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Oscar Giner)</author>
		<pubDate>Sat, 06 Nov 2004 21:13:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>135 characters in Python, but the formating isn&#39;t right:</p><div class="source-code snippet"><div class="inner"><pre>i <span class="k3">=</span> <span class="k2">[</span>a.split<span class="k2">(</span><span class="k2">)</span> <span class="k1">for</span> a in file<span class="k2">(</span><span class="s">"n"</span><span class="k2">)</span>.readlines<span class="k2">(</span><span class="k2">)</span><span class="k2">]</span>
n <span class="k3">=</span> <span class="k2">{</span><span class="k2">}</span>
<span class="k1">for</span> a in i:
    try:
        n<span class="k2">[</span>a<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span> <span class="k3">+</span><span class="k3">=</span> <span class="k2">[</span>a<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">]</span>
    except:
        n<span class="k2">[</span>a<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span> <span class="k3">=</span> <span class="k2">[</span>a<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">]</span>
<span class="k1">for</span> l,f in n.iteritems<span class="k2">(</span><span class="k2">)</span><span class="k2">:</span>
    print l, <span class="s">"\n\t"</span>.join<span class="k2">(</span>f<span class="k2">)</span>
</pre></div></div><p>

167 characters in Python with <i>correct formatting</i>:
</p><div class="source-code snippet"><div class="inner"><pre>i <span class="k3">=</span> <span class="k2">[</span>a.split<span class="k2">(</span><span class="k2">)</span> <span class="k1">for</span> a in file<span class="k2">(</span><span class="s">"n"</span><span class="k2">)</span>.readlines<span class="k2">(</span><span class="k2">)</span><span class="k2">]</span>
n <span class="k3">=</span> <span class="k2">{</span><span class="k2">}</span>
<span class="k1">for</span> a in i:
    try:
        n<span class="k2">[</span>a<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span> <span class="k3">+</span><span class="k3">=</span> <span class="k2">[</span>a<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">]</span>
    except:
        n<span class="k2">[</span>a<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span> <span class="k3">=</span> <span class="k2">[</span>a<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">]</span>
<span class="k1">for</span> l,f in n.iteritems<span class="k2">(</span><span class="k2">)</span><span class="k2">:</span>
    <span class="k1">if</span> len<span class="k2">(</span>f<span class="k2">)</span> <span class="k3">&lt;</span> <span class="n">2</span><span class="k2">:</span>
        print l, f<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>
    else: 
        print l, <span class="s">"\n\t"</span>.join<span class="k2">(</span><span class="k2">[</span><span class="s">""</span><span class="k2">]</span><span class="k3">+</span>f<span class="k2">)</span>
</pre></div></div><p>

The other Python entry doesn&#39;t get the formatting right and is unreadable and longer. <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /></p><p>Matthew, your Python interpreter is outdated.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Mars)</author>
		<pubDate>Sat, 06 Nov 2004 21:57:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Actually, my entry is 148 if you use my shorter method. It just spits out some notices if you have PHP on strict &quot;debug&quot; mode. My nonconforming entry (placing all first names below last names) is 128.</p><p>Surely someone do much better than that though... PHP has long names like &quot;foreach&quot;, and I have to resort to using a trim(). It also doesn&#39;t have the shortcut stuff like: <tt>i = [a.split() for a in file(&quot;n&quot;).readlines()]</tt>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sat, 06 Nov 2004 22:06:46 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>It also doesn&#39;t have the shortcut stuff like [...]</p></div></div><p>

... Which is a good thing.</p><p>Marcello
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Marcello)</author>
		<pubDate>Sat, 06 Nov 2004 22:22:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
Haskell is back again to save the day!</p><div class="source-code snippet"><div class="inner"><pre>z x <span class="k2">(</span>n:b<span class="k2">)</span>
  <span class="k3">|</span> n<span class="k3">!</span><span class="k3">!</span><span class="n">0</span> <span class="k3">=</span><span class="k3">=</span> x<span class="k3">!</span><span class="k3">!</span><span class="n">1</span> <span class="k3">=</span> <span class="k2">[</span>n<span class="k3">!</span><span class="k3">!</span><span class="n">0</span>,<span class="s">"\n  "</span>,x<span class="k3">!</span><span class="k3">!</span><span class="n">0</span> <span class="k3">+</span><span class="k3">+</span> <span class="s">"\n  "</span> <span class="k3">+</span><span class="k3">+</span> n<span class="k3">!</span><span class="k3">!</span><span class="n">2</span><span class="k2">]</span> <span class="k2">:</span> b
  <span class="k3">|</span> <span class="n">0</span> <span class="k3">&lt;</span> <span class="n">1</span> <span class="k3">=</span> n <span class="k2">:</span> z x b
z <span class="k2">[</span>a,b<span class="k2">]</span> _ <span class="k3">=</span> <span class="k2">[</span><span class="k2">[</span>b,<span class="s">" "</span>,a<span class="k2">]</span><span class="k2">]</span>

main <span class="k3">=</span> readFile <span class="s">"f"</span> <span class="k3">&gt;</span><span class="k3">&gt;</span><span class="k3">=</span> putStr . unlines . map concat . foldr <span class="k2">(</span>z . words<span class="k2">)</span> <span class="k2">[</span><span class="k2">]</span> . lines
</pre></div></div><p>

This little baby clocks in at 143 non-whitespace characters and gets the formatting right. Shortest so far, then. Co-produced by me and Jolle.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Sat, 06 Nov 2004 23:30:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Mine&#39;s 144 now. If PHP just didn&#39;t require those &lt;? ?&gt; tags. <img src="http://www.allegro.cc/forums/smileys/undecided.gif" alt=":-/" /></p><p>However, I think essential white space (anything required for parsing or output) should count.</p><p>Mine runs like this:</p><p>&lt;?foreach(file(&quot;n&quot;)as$l){$p=split(&quot; |\n&quot;,$l);$n[$p[1]][]=$p[0];}foreach($n as$a=&gt;$z)foreach($z as$i=&gt;$p)echo($z[1]?$i?&quot;\t&quot;:&quot;$a\n\t&quot;:&quot;$a &quot;).&quot;$p\n&quot;;?&gt;</p><p>149 bytes short.</p><p>X-G: Does yours output a tab character?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sat, 06 Nov 2004 23:45:14 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>If you turn warnings off, this version of Perl would work as well, and has only 205 characters:</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_600.html" target="_blank">open</a><span class="k2">(</span>F, <span class="s">"t"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">2</td><td>@f <span class="k3">=</span> <span class="k3">&lt;</span>F&gt;<span class="k2">;</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td><span class="k1">while</span> <span class="k2">(</span>$_ <span class="k3">=</span> shift<span class="k2">(</span>@f<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">5</td><td>    @s <span class="k3">=</span> split<span class="k2">;</span></td></tr><tr><td class="number">6</td><td>    $f <span class="k3">=</span> <span class="s">" "</span><span class="k2">;</span></td></tr><tr><td class="number">7</td><td>    @i <span class="k3">=</span> @f<span class="k2">;</span></td></tr><tr><td class="number">8</td><td>    shift @i<span class="k2">;</span></td></tr><tr><td class="number">9</td><td>&#160;</td></tr><tr><td class="number">10</td><td>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span> <a href="http://www.allegro.cc/manual/exists" target="_blank"><span class="a">exists</span></a><span class="k2">(</span>%h-&gt;<span class="k2">{</span>$s<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">}</span><span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">11</td><td>        print $s<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>        <span class="k1">for</span> <span class="k2">(</span>@i<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">13</td><td>            @c <span class="k3">=</span> split<span class="k2">;</span></td></tr><tr><td class="number">14</td><td>            <span class="k1">if</span> <span class="k2">(</span>$s<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> eq $c<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">15</td><td>                $f <span class="k3">=</span> <span class="s">"\n    "</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>                print <span class="s">"$f$c[0]"</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>            <span class="k2">}</span></td></tr><tr><td class="number">18</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">19</td><td>&#160;</td></tr><tr><td class="number">20</td><td>        print <span class="s">"$f$s[0]\n"</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>        %h-&gt;<span class="k2">{</span>$s<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">}</span> <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">23</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Sat, 06 Nov 2004 23:57:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>X-G: Does yours output a tab character?</p></div></div><p>

I&#39;d tell you, but I&#39;m running out of posts. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><p>(Yes.)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (X-G)</author>
		<pubDate>Sun, 07 Nov 2004 00:27:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code snippet"><div class="inner"><pre><span class="k3">&lt;</span>?
        foreach <span class="k2">(</span>file<span class="k2">(</span><span class="s">"n"</span><span class="k2">)</span> as $l<span class="k2">)</span>
        <span class="k2">{</span>
                $p <span class="k3">=</span> split<span class="k2">(</span><span class="s">" |</span>
<span class="s">"</span>, $l<span class="k2">)</span><span class="k2">;</span>
                $n<span class="k2">[</span>$p<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span><span class="k2">[</span><span class="k2">]</span> <span class="k3">=</span> $p<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">;</span>
        <span class="k2">}</span>

        foreach <span class="k2">(</span>$n as $a<span class="k3">=</span><span class="k3">&gt;</span>$z<span class="k2">)</span>
                foreach <span class="k2">(</span>$z as $i<span class="k3">=</span><span class="k3">&gt;</span>$p<span class="k2">)</span>
                        echo <span class="k2">(</span>$z<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> ? $i?<span class="s">"      "</span><span class="k2">:</span><span class="s">"$a</span>
<span class="s">        "</span> <span class="k2">:</span> <span class="s">"$a "</span><span class="k2">)</span> .<span class="s">"$p</span>
<span class="s">"</span><span class="k2">;</span>
?<span class="k3">&gt;</span>
</pre></div></div><p>

Splendid! Mine&#39;s 134 now by the cat/wc count. <img src="http://www.allegro.cc/forums/smileys/cool.gif" alt="8-)" /> I&#39;m using literal tabs and newlines instead of \codes now. (Although, I still say it&#39;s no fair to discard required whitespace...)</p><p>I don&#39;t know if I can make it any shorter without rethinking. I better get back to some real work. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sun, 07 Nov 2004 00:30:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>Splended!</p></div></div><p>

I didn&#39;t know there was a splending contest ...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (23yrold3yrold)</author>
		<pubDate>Sun, 07 Nov 2004 00:37:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Eh? Where&#39;s your C++ STL is teh foo code?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sun, 07 Nov 2004 00:40:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I first posted a 177 characters one, but after some more tweaklings, got it down to 169 (counted by hand). I agree with Matthew, though, required spaces should count as well... but well <img src="http://www.allegro.cc/forums/smileys/cheesy.gif" alt=":D" /> Much better than my 240 original one, nevertheless <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>I don&#39;t like the code, but works (don&#39;t try enabling warnings <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />)</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_600.html" target="_blank">open</a><span class="k2">(</span>F, <span class="s">"t"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">2</td><td>@_ <span class="k3">=</span> <span class="k3">&lt;</span>F&gt;<span class="k2">;</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td><span class="k1">while</span> <span class="k2">(</span>$_ <span class="k3">=</span> pop @_<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">5</td><td>    <span class="k2">(</span>$a,$b<span class="k2">)</span> <span class="k3">=</span> split<span class="k2">;</span></td></tr><tr><td class="number">6</td><td>    $f <span class="k3">=</span> <span class="s">' '</span><span class="k2">;</span></td></tr><tr><td class="number">7</td><td>    pop<span class="k2">;</span></td></tr><tr><td class="number">8</td><td>&#160;</td></tr><tr><td class="number">9</td><td>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span> @h<span class="k2">{</span>$b<span class="k2">}</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">10</td><td>        print $b<span class="k2">;</span></td></tr><tr><td class="number">11</td><td>        <span class="k1">for</span> <span class="k2">(</span>@_<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">12</td><td>            <span class="k2">(</span>$c,$d<span class="k2">)</span> <span class="k3">=</span> split<span class="k2">;</span></td></tr><tr><td class="number">13</td><td>            <span class="k1">if</span> <span class="k2">(</span>$b eq $d<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">14</td><td>                $f <span class="k3">=</span> <span class="s">"\n\t"</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>                print $f.$c<span class="k2">;</span></td></tr><tr><td class="number">16</td><td>            <span class="k2">}</span></td></tr><tr><td class="number">17</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">18</td><td>&#160;</td></tr><tr><td class="number">19</td><td>        print <span class="s">"$f$a\n"</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td>        @h<span class="k2">{</span>$b<span class="k2">}</span> <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">22</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

(Edited: Posted a new version, with only 161 characters... I still don&#39;t like all those <i>print</i>).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Sun, 07 Nov 2004 02:26:33 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Here in Mathematica. 166 characters. It produces correct output: [edit]The only space required is the one in &quot; &quot;, so 167 characters using this rule[/edit]</p><div class="source-code snippet"><div class="inner"><pre>For<span class="k2">[</span>p <span class="k3">=</span> ReadList<span class="k2">[</span><span class="s">"f"</span>, <span class="k2">{</span>Word, Word<span class="k2">}</span><span class="k2">]</span>, p <span class="k3">!</span><span class="k3">=</span> <span class="k2">{</span><span class="k2">}</span>, p <span class="k3">=</span> DeleteCases<span class="k2">[</span>p, <span class="k2">{</span>_, a<span class="k2">}</span><span class="k2">]</span>,
  c <span class="k3">=</span> Cases<span class="k2">[</span>p, <span class="k2">{</span>_, a <span class="k3">=</span> p<span class="k2">[</span><span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span><span class="k2">[</span><span class="k2">[</span><span class="n">2</span><span class="k2">]</span><span class="k2">]</span><span class="k2">}</span><span class="k2">]</span><span class="k2">;</span>
  <span class="k2">{</span>d, e<span class="k2">}</span> <span class="k3">=</span> c<span class="k2">[</span><span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span><span class="k2">;</span>
  If<span class="k2">[</span>Length<span class="k2">[</span>c<span class="k2">]</span> <span class="k3">&lt;</span> <span class="n">2</span>,
    Print<span class="k2">[</span>e, <span class="s">" "</span>, d<span class="k2">]</span>,
    Print<span class="k2">[</span>e<span class="k2">]</span><span class="k2">;</span>
    Print<span class="k2">[</span><span class="s">"\t"</span>, #<span class="n">1</span><span class="k2">[</span><span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span><span class="k2">]</span> <span class="k3">&amp;</span> <span class="k3">/</span>@ c
    <span class="k2">]</span>
  <span class="k2">]</span>
</pre></div></div><p>

Simplified, not producing correct output, it&#39;s 133 characters: [edit]No spaces required here, so it stays at 133 characters[/edit]</p><div class="source-code snippet"><div class="inner"><pre>For<span class="k2">[</span>p <span class="k3">=</span> ReadList<span class="k2">[</span><span class="s">"f"</span>, <span class="k2">{</span>Word, Word<span class="k2">}</span><span class="k2">]</span>, p <span class="k3">!</span><span class="k3">=</span> <span class="k2">{</span><span class="k2">}</span>, p <span class="k3">=</span> DeleteCases<span class="k2">[</span>p, <span class="k2">{</span>_, a<span class="k2">}</span><span class="k2">]</span>,
  c <span class="k3">=</span> Cases<span class="k2">[</span>p, <span class="k2">{</span>_, a <span class="k3">=</span> p<span class="k2">[</span><span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span><span class="k2">[</span><span class="k2">[</span><span class="n">2</span><span class="k2">]</span><span class="k2">]</span><span class="k2">}</span><span class="k2">]</span><span class="k2">;</span>
  Print<span class="k2">[</span>c<span class="k2">[</span><span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span><span class="k2">[</span><span class="k2">[</span><span class="n">2</span><span class="k2">]</span><span class="k2">]</span><span class="k2">]</span><span class="k2">;</span>
  Print<span class="k2">[</span><span class="s">"\t"</span>, #<span class="n">1</span><span class="k2">[</span><span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span><span class="k2">]</span> <span class="k3">&amp;</span> <span class="k3">/</span>@ c
  <span class="k2">]</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Oscar Giner)</author>
		<pubDate>Sun, 07 Nov 2004 02:54:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>134 &lt;Php&gt; Matthew Leverton<br />143 &lt;Haskell&gt; X-G<br />160 &lt;Perl&gt; ReyBrujo<br />166 &lt;Mathematica&gt; Oscar Giner<br />167 &lt;Python&gt; Mars<br />178 &lt;Python&gt; Joel Davis<br />244 &lt;Perl?&gt; kazzmir<br />252 &lt;C++&gt; ImLeftFooted<br />364 &lt;C++&gt; Winston Ewert<br />377 &lt;C++&gt; William Heatley<br />400 &lt;C++&gt; Oscar Giner<br />414 &lt;.NET&gt; Rick</p><div class="quote_container"><div class="title">ReyBrujo said:</div><div class="quote"><p>
(Edited: Posted a new version, with only 161 characters... I still don&#39;t like all those print).
</p></div></div><p>
Came in at 160 for me</p><p>My (fixed) entry:
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#define S string</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><span class="p">#include &lt;iostream&gt;</span></td></tr><tr><td class="number">4</td><td><span class="p">#include &lt;fstream&gt;</span></td></tr><tr><td class="number">5</td><td><span class="p">#include &lt;map&gt;</span></td></tr><tr><td class="number">6</td><td><span class="k1">using</span> <span class="k1">namespace</span> std<span class="k2">;</span></td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td>main <span class="k2">(</span> <span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">9</td><td>  map <span class="k3">&lt;</span> S, S <span class="k3">&gt;</span> p <span class="k2">;</span></td></tr><tr><td class="number">10</td><td>  </td></tr><tr><td class="number">11</td><td>  fstream s <span class="k2">(</span> <span class="s">"t"</span> <span class="k2">)</span> <span class="k2">;</span></td></tr><tr><td class="number">12</td><td>  </td></tr><tr><td class="number">13</td><td>  <span class="k1">for</span> <span class="k2">(</span> S e, x <span class="k2">;</span> s.good <span class="k2">(</span> <span class="k2">)</span> <span class="k2">;</span> p <span class="k2">[</span> x <span class="k2">]</span> <span class="k3">+</span><span class="k3">=</span> <span class="s">"  "</span> <span class="k3">+</span> e <span class="k3">+</span> <span class="s">"\n"</span> <span class="k2">)</span></td></tr><tr><td class="number">14</td><td>    s <span class="k3">&gt;</span><span class="k3">&gt;</span> e <span class="k3">&gt;</span><span class="k3">&gt;</span> x<span class="k2">;</span></td></tr><tr><td class="number">15</td><td>  </td></tr><tr><td class="number">16</td><td>  S y<span class="k2">;</span></td></tr><tr><td class="number">17</td><td>  </td></tr><tr><td class="number">18</td><td>  <span class="k1">for</span> <span class="k2">(</span> map <span class="k3">&lt;</span> S, S <span class="k3">&gt;</span> <span class="k2">:</span><span class="k2">:</span> iterator P <span class="k3">=</span> p.begin <span class="k2">(</span> <span class="k2">)</span> <span class="k2">;</span>  <span class="k2">;</span> cout <span class="k3">&lt;</span><span class="k3">&lt;</span> P <span class="k3">-</span><span class="k3">&gt;</span> first <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="k2">(</span> y . rfind <span class="k2">(</span> <span class="s">"  "</span> <span class="k2">)</span> <span class="k3">!</span><span class="k3">=</span> <span class="n">0</span> ? <span class="s">"\n"</span> <span class="k2">:</span> <span class="s">""</span> <span class="k2">)</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> y, <span class="k3">+</span><span class="k3">+</span> P <span class="k2">)</span></td></tr><tr><td class="number">19</td><td>    y <span class="k3">=</span> P <span class="k3">-</span><span class="k3">&gt;</span> second<span class="k2">;</span></td></tr><tr><td class="number">20</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

</p><div class="quote_container"><div class="title">Oscar Giner said:</div><div class="quote"><p>
Neither yours does (and it crashes) <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div></div><p>
The rules didnt say how the program had to exit, i chose to use a segfault;D
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ImLeftFooted)</author>
		<pubDate>Sun, 07 Nov 2004 06:59:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Whitespace will be removed for counting, so dont bother to make your code look clean in the thread.
</p></div></div><p>
Bad choice for a rule IMO. Almost all languages force the use of at least one whitespace character to differentiate between identifiers. So it makes more sense to count a sequence of whitespace characters as at least one character for the purpose of your challenge.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Rash)</author>
		<pubDate>Sun, 07 Nov 2004 07:02:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I improved mine. Now 157 <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>I discovered that you can write v[[a]][&lt;b&gt;] as v[[a,b]], and the Import function does a better job than ReadList <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><div class="source-code snippet"><div class="inner"><pre>For<span class="k2">[</span>p <span class="k3">=</span> Import<span class="k2">[</span><span class="s">"f"</span>, <span class="s">"Table"</span><span class="k2">]</span>, p <span class="k3">!</span><span class="k3">=</span> <span class="k2">{</span><span class="k2">}</span>, p <span class="k3">=</span> DeleteCases<span class="k2">[</span>p, <span class="k2">{</span>_, a<span class="k2">}</span><span class="k2">]</span>,
  c <span class="k3">=</span> Cases<span class="k2">[</span>p, <span class="k2">{</span>_, a <span class="k3">=</span> p<span class="k2">[</span><span class="k2">[</span><span class="n">1</span>, <span class="n">2</span><span class="k2">]</span><span class="k2">]</span><span class="k2">}</span><span class="k2">]</span><span class="k2">;</span>
  <span class="k2">{</span>d, e<span class="k2">}</span> <span class="k3">=</span> c<span class="k2">[</span><span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span><span class="k2">;</span>
  If<span class="k2">[</span>Length<span class="k2">[</span>c<span class="k2">]</span> <span class="k3">&lt;</span> <span class="n">2</span>,
    Print<span class="k2">[</span>e, <span class="s">" "</span>, d<span class="k2">]</span>,
    Print<span class="k2">[</span>e<span class="k2">]</span><span class="k2">;</span>
    Print<span class="k2">[</span><span class="s">"\t"</span>, #<span class="n">1</span><span class="k2">[</span><span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span><span class="k2">]</span> <span class="k3">&amp;</span> <span class="k3">/</span>@ c<span class="k2">]</span>
  <span class="k2">]</span>
</pre></div></div><p>

[edit]<br />Oh, if the file extension is &quot;.dat&quot;, Import mode defaults to &quot;Table&quot;. The rules don&#39;t say anything about the file name, so now it&#39;s only 153.</p><p>[edit]<br />3 characters more saved. Now it&#39;s 150.</p><p>[edit]<br />Namig the file just &quot;.dat&quot; saves 1 character. Windows (at least 98) won&#39;t let you use this filename, but renaming it with DOS does the job <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />  149 characters.</p><div class="source-code snippet"><div class="inner"><pre>For<span class="k2">[</span>p <span class="k3">=</span> Import<span class="k2">[</span><span class="s">".dat"</span><span class="k2">]</span>, p <span class="k3">!</span><span class="k3">=</span> <span class="k2">{</span><span class="k2">}</span>, p <span class="k3">=</span> DeleteCases<span class="k2">[</span>p, <span class="k2">{</span>_, a<span class="k2">}</span><span class="k2">]</span>,
  c <span class="k3">=</span> Cases<span class="k2">[</span>p, <span class="k2">{</span>_, a <span class="k3">=</span> p<span class="k2">[</span><span class="k2">[</span><span class="n">1</span>, <span class="n">2</span><span class="k2">]</span><span class="k2">]</span><span class="k2">}</span><span class="k2">]</span><span class="k2">;</span>
  <span class="k2">{</span>d, e<span class="k2">}</span> <span class="k3">=</span> c<span class="k2">[</span><span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span><span class="k2">;</span>
  P <span class="k2">:</span><span class="k3">=</span> Print<span class="k2">;</span>
  If<span class="k2">[</span>Length<span class="k2">[</span>c<span class="k2">]</span> <span class="k3">&lt;</span> <span class="n">2</span>,
    P<span class="k2">[</span>e, <span class="s">" "</span>, d<span class="k2">]</span>,
    P<span class="k2">[</span>e<span class="k2">]</span><span class="k2">;</span>
    P<span class="k2">[</span><span class="s">"\t"</span>, #<span class="n">1</span><span class="k2">[</span><span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span><span class="k2">]</span> <span class="k3">&amp;</span> <span class="k3">/</span>@ c<span class="k2">]</span>
  <span class="k2">]</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Oscar Giner)</author>
		<pubDate>Sun, 07 Nov 2004 08:19:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Okay here it is in lua
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td>s <span class="k3">=</span> string</td></tr><tr><td class="number">2</td><td>p <span class="k3">=</span> s.sub</td></tr><tr><td class="number">3</td><td>n <span class="k3">=</span> <span class="k2">{</span><span class="k2">}</span></td></tr><tr><td class="number">4</td><td>t <span class="k3">=</span> table</td></tr><tr><td class="number">5</td><td>r <span class="k3">=</span> t.foreach</td></tr><tr><td class="number">6</td><td>o <span class="k3">=</span> print</td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td><span class="k1">for</span> l in io.lines<span class="k2">(</span><span class="s">"f"</span><span class="k2">)</span> <span class="k1">do</span> </td></tr><tr><td class="number">9</td><td>    v <span class="k3">=</span> s.find<span class="k2">(</span>l,<span class="s">" "</span><span class="k2">)</span></td></tr><tr><td class="number">10</td><td>    f <span class="k3">=</span> p<span class="k2">(</span>l,v<span class="k3">+</span><span class="n">1</span><span class="k2">)</span> </td></tr><tr><td class="number">11</td><td>    </td></tr><tr><td class="number">12</td><td>    <span class="k1">if</span><span class="k2">(</span>type<span class="k2">(</span>n<span class="k2">[</span>f<span class="k2">]</span><span class="k2">)</span> <span class="k3">=</span><span class="k3">=</span> <span class="s">"nil"</span><span class="k2">)</span> then n<span class="k2">[</span>f<span class="k2">]</span> <span class="k3">=</span> <span class="k2">{</span><span class="k2">}</span> end</td></tr><tr><td class="number">13</td><td>    l <span class="k3">=</span> p<span class="k2">(</span>l,<span class="n">1</span>,v<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>    n<span class="k2">[</span>f<span class="k2">]</span><span class="k2">[</span>l<span class="k2">]</span> <span class="k3">=</span> l<span class="k2">;</span></td></tr><tr><td class="number">15</td><td>end</td></tr><tr><td class="number">16</td><td>&#160;</td></tr><tr><td class="number">17</td><td><span class="k1">for</span> l,t in n <span class="k1">do</span></td></tr><tr><td class="number">18</td><td>o<span class="k2">(</span>l<span class="k2">)</span> </td></tr><tr><td class="number">19</td><td><span class="k1">for</span> a in t <span class="k1">do</span></td></tr><tr><td class="number">20</td><td>    o<span class="k2">(</span><span class="s">""</span>,a<span class="k2">)</span></td></tr><tr><td class="number">21</td><td>end</td></tr><tr><td class="number">22</td><td>end</td></tr></tbody></table></div></div><p>
I&#39;ve only used the standard lua libraries, I could make it shorter by adding a few functions, but after all, then I could add a function called a which did everthing. <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>[edit] updated code, discovered that foreach syntax took more then simple for
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Wetimer)</author>
		<pubDate>Sun, 07 Nov 2004 10:15:20 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>But really, there should be a limitation on language used, or else there&#39;s no fair way to compare entries.</p></div></div><p>
Agreed.<br />I could make a programming language which just happens to have a built in function to do the whole thing.<br />The code would then just be:<br /><span class="source-code">go<span class="k2">;</span></span><br />or something like that.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Karadoc ~~)</author>
		<pubDate>Sun, 07 Nov 2004 10:51:29 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You would be missing the entire point of the thing, failing to impress anyone.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sun, 07 Nov 2004 10:55:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>kazzmir entry is also in Perl. I tried doing it in Ruby, but didn&#39;t work too well. Trying to fix it now <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />  And thanks, WE, I was wondering where the LUA version was <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>(Edited: Can the text file be &quot;included&quot;? I will try to do it in Prolog, the rules are very easy, but I am not sure how to open and load a file at all :/)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Sun, 07 Nov 2004 11:00:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>Can the text file be &quot;included&quot;?</p></div></div><p>
Anything should be OK, assuming it&#39;s part of the standard libs/langauge.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sun, 07 Nov 2004 11:04:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>You would be missing the entire point of the thing, failing to impress anyone.</p></div></div><p>
Thank you for that insight. I&#39;m just saying that in any good &#39;competition&#39; there needs to be a few strong rules. I used that extreme example just to illustrate my point.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Karadoc ~~)</author>
		<pubDate>Sun, 07 Nov 2004 11:52:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It is just something to spend time, nothing serious. This is what Allegro programmers do when they are too tired <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /> We are not getting rewards (at least, I had not been notified <img src="http://www.allegro.cc/forums/smileys/cheesy.gif" alt=":D" />).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Sun, 07 Nov 2004 12:11:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Lua again.  By changing the way I was doing things I saved about ten characters.
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td>n <span class="k3">=</span> <span class="k2">{</span><span class="k2">}</span></td></tr><tr><td class="number">2</td><td>s <span class="k3">=</span> string</td></tr><tr><td class="number">3</td><td>t <span class="k3">=</span> table</td></tr><tr><td class="number">4</td><td>z <span class="k3">=</span> print</td></tr><tr><td class="number">5</td><td>y <span class="k3">=</span> s.sub</td></tr><tr><td class="number">6</td><td>&#160;</td></tr><tr><td class="number">7</td><td><span class="k1">for</span> a in io.lines<span class="k2">(</span><span class="s">"f"</span><span class="k2">)</span> <span class="k1">do</span> </td></tr><tr><td class="number">8</td><td>    l <span class="k3">=</span> s.find<span class="k2">(</span>a,<span class="s">" "</span><span class="k2">)</span></td></tr><tr><td class="number">9</td><td>    t.insert<span class="k2">(</span>n,<span class="k2">{</span>y<span class="k2">(</span>a,<span class="n">1</span>,l<span class="k2">)</span>,y<span class="k2">(</span>a,l<span class="k3">+</span><span class="n">1</span><span class="k2">)</span><span class="k2">}</span><span class="k2">)</span></td></tr><tr><td class="number">10</td><td>end</td></tr><tr><td class="number">11</td><td>&#160;</td></tr><tr><td class="number">12</td><td>t.sort<span class="k2">(</span>n, function <span class="k2">(</span>a,b<span class="k2">)</span> <span class="k1">return</span> a<span class="k2">[</span><span class="n">2</span><span class="k2">]</span> <span class="k3">&lt;</span> b<span class="k2">[</span><span class="n">2</span><span class="k2">]</span> end<span class="k2">)</span></td></tr><tr><td class="number">13</td><td>&#160;</td></tr><tr><td class="number">14</td><td><span class="k1">for</span> l,y in n <span class="k1">do</span></td></tr><tr><td class="number">15</td><td>&#160;</td></tr><tr><td class="number">16</td><td>    x <span class="k3">=</span> y<span class="k2">[</span><span class="n">2</span><span class="k2">]</span></td></tr><tr><td class="number">17</td><td>    <span class="k1">if</span><span class="k2">(</span>p ~<span class="k3">=</span> x<span class="k2">)</span> then z<span class="k2">(</span>x<span class="k2">)</span> end</td></tr><tr><td class="number">18</td><td>    p <span class="k3">=</span> x</td></tr><tr><td class="number">19</td><td>    </td></tr><tr><td class="number">20</td><td>    z<span class="k2">(</span><span class="s">""</span>,y<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">21</td><td>end</td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Wetimer)</author>
		<pubDate>Sun, 07 Nov 2004 12:51:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>134 &lt;Php&gt; Matthew Leverton<br />143 &lt;Haskell&gt; X-G<br />149 &lt;Mathematica&gt; Oscar Giner<br />160 &lt;Perl&gt; ReyBrujo<br />167 &lt;Python&gt; Mars<br />178 &lt;Python&gt; Joel Davis<br />195 &lt;Lua&gt; Winston Ewert<br />244 &lt;Perl&gt; kazzmir<br />252 &lt;C++&gt; ImLeftFooted<br />364 &lt;C++&gt; Winston Ewert<br />377 &lt;C++&gt; William Heatley<br />400 &lt;C++&gt; Oscar Giner<br />414 &lt;.NET&gt; Rick</p><p>By the way its looking i think Matt with php is gonna take it.</p><p>[Edit:]<br />Or by language:
</p><ul><li><p>Php - 134</p></li><li><p>Haskell - 143</p></li><li><p>Mathematica - 149</p></li><li><p>Perl - 160</p></li><li><p>Python - 167</p></li><li><p>Lua - 195</p></li><li><p>C++ - 252</p></li><li><p>.NET - 414</p></li></ul><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ImLeftFooted)</author>
		<pubDate>Sun, 07 Nov 2004 15:32:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You should remove the entries that don&#39;t get the formatting right...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Mars)</author>
		<pubDate>Sun, 07 Nov 2004 19:46:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
By the way its looking i think Matt with php is gonna take it.
</p></div></div><p>
Not too fast <img src="http://www.allegro.cc/forums/smileys/cool.gif" alt="8-)" />. I improved my Mathematica entry. 133 characters:</p><div class="source-code snippet"><div class="inner"><pre>For<span class="k2">[</span>p <span class="k3">=</span> Import<span class="k2">[</span><span class="s">".dat"</span><span class="k2">]</span>, p <span class="k3">!</span><span class="k3">=</span> <span class="k2">{</span><span class="k2">}</span>, p <span class="k3">=</span> Complement<span class="k2">[</span>p, c<span class="k2">]</span>,
  c <span class="k3">=</span> Cases<span class="k2">[</span>p, <span class="k2">{</span>_, p<span class="k2">[</span><span class="k2">[</span><span class="n">1</span>, <span class="n">2</span><span class="k2">]</span><span class="k2">]</span><span class="k2">}</span><span class="k2">]</span><span class="k2">;</span>
  <span class="k2">{</span>d, e<span class="k2">}</span> <span class="k3">=</span> c<span class="k2">[</span><span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span><span class="k2">;</span>
  Print<span class="k2">;</span>
  If<span class="k2">[</span>Length<span class="k2">[</span>c<span class="k2">]</span> <span class="k3">&lt;</span> <span class="n">2</span>,
    %<span class="k2">[</span>e d<span class="k2">]</span>,
    %<span class="k2">[</span>e<span class="k2">]</span><span class="k2">;</span>
    %<span class="k2">[</span><span class="s">"\t"</span>#<span class="k2">[</span><span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span><span class="k2">]</span> <span class="k3">&amp;</span> <span class="k3">/</span>@ c
    <span class="k2">]</span>
  <span class="k2">]</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Oscar Giner)</author>
		<pubDate>Sun, 07 Nov 2004 22:23:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code snippet"><div class="inner"><pre><span class="k3">&lt;</span>?
        foreach <span class="k2">(</span>file<span class="k2">(</span><span class="s">"n"</span><span class="k2">)</span> as $l<span class="k2">)</span>
        <span class="k2">{</span>
                $p <span class="k3">=</span> split<span class="k2">(</span><span class="s">" |</span>
<span class="s">"</span>, $l<span class="k2">)</span><span class="k2">;</span>
                $n<span class="k2">[</span>$p<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span><span class="k2">[</span><span class="k2">]</span> <span class="k3">=</span> $p<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">;</span>
        <span class="k2">}</span>

        foreach <span class="k2">(</span>$n as $a<span class="k3">=</span><span class="k3">&gt;</span>$z<span class="k2">)</span>
                foreach <span class="k2">(</span>$z as $i<span class="k3">=</span><span class="k3">&gt;</span>$p<span class="k2">)</span>
                        echo $z<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> ? $i?<span class="s">"       "</span><span class="k2">:</span><span class="s">"$a</span>
<span class="s">        "</span> <span class="k2">:</span> <span class="s">"$a "</span> ,<span class="s">"$p</span>
<span class="s">"</span><span class="k2">;</span>
?<span class="k3">&gt;</span>
</pre></div></div><p>

132
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sun, 07 Nov 2004 23:17:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
.. Perl-fu didn&#39;t come through at first yet?<br />Surely somebody with enough perl knowledge can do this in much less, <i>right</i>? There&#39;s so many different ways to do things in perl, I&#39;d think it would always come in first.. especially for problems like this. </p><p>Oh well, good job (so far) ML. <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kanzure)</author>
		<pubDate>Sun, 07 Nov 2004 23:24:45 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Since you&#39;re printing spaces instead of tabs, I can do, too:</p><div class="source-code snippet"><div class="inner"><pre>Print<span class="k2">;</span>
For<span class="k2">[</span>p <span class="k3">=</span> Import<span class="k2">[</span><span class="s">".dat"</span><span class="k2">]</span>, p <span class="k3">!</span><span class="k3">=</span> <span class="k2">{</span><span class="k2">}</span>, p <span class="k3">=</span> Complement<span class="k2">[</span>p, c<span class="k2">]</span>,
  c <span class="k3">=</span> Cases<span class="k2">[</span>p, <span class="k2">{</span>_, p<span class="k2">[</span><span class="k2">[</span><span class="n">1</span>, <span class="n">2</span><span class="k2">]</span><span class="k2">]</span><span class="k2">}</span><span class="k2">]</span><span class="k2">;</span>
  <span class="k2">{</span>d, e<span class="k2">}</span> <span class="k3">=</span> c<span class="k2">[</span><span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span><span class="k2">;</span>
  If<span class="k2">[</span>Length<span class="k2">[</span>c<span class="k2">]</span> <span class="k3">&lt;</span> <span class="n">2</span>,
    %<span class="k2">[</span>e d<span class="k2">]</span>,
    %<span class="k2">[</span>e<span class="k2">]</span><span class="k2">;</span>
    %<span class="k2">[</span><span class="s">"        "</span>#<span class="k2">[</span><span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span><span class="k2">]</span> <span class="k3">&amp;</span> <span class="k3">/</span>@ c
    <span class="k2">]</span>
  <span class="k2">]</span>
</pre></div></div><p>

131 <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Oscar Giner)</author>
		<pubDate>Mon, 08 Nov 2004 00:18:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Make room, make room. Here comes Perl and 128 characters <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" /> Since you use the implicit enter and tab, I thought I could use them as well <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> Had to rewrite the code completely, the previous one could be optimized only a few characters.</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_600.html" target="_blank">open</a> F, <span class="s">"t"</span><span class="k2">;</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><span class="k1">while</span> <span class="k2">(</span><span class="k3">&lt;</span>F&gt;<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">4</td><td>    split<span class="k2">;</span></td></tr><tr><td class="number">5</td><td>    @f<span class="k2">{</span>@_<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">}</span> .<span class="k3">=</span> <span class="s">" @_[0]"</span></td></tr><tr><td class="number">6</td><td><span class="k2">}</span></td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td><span class="k1">for</span> <span class="k2">(</span>%f<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">9</td><td>    <span class="k3">+</span><span class="k3">+</span>$c<span class="k2">;</span></td></tr><tr><td class="number">10</td><td>&#160;</td></tr><tr><td class="number">11</td><td>    <span class="k1">if</span> <span class="k2">(</span>split <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">12</td><td>        print $c % <span class="n">2</span>? <span class="s">"</span></td></tr><tr><td class="number">13</td><td><span class="s">$_"</span> <span class="k2">:</span> $_<span class="k2">;</span></td></tr><tr><td class="number">14</td><td>        next</td></tr><tr><td class="number">15</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">16</td><td>&#160;</td></tr><tr><td class="number">17</td><td>    print <span class="s">"</span></td></tr><tr><td class="number">18</td><td><span class="s">    $_"</span> <span class="k1">for</span> @_</td></tr><tr><td class="number">19</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

(Edited: The 128 char version had a bug, didn&#39;t work with a long name list. Replaced it with a 116 version that works <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />)</p><p>(Edited 2: 115 characters, replaced <i>&quot; &quot; . $a</i> with <i>&quot; $a&quot;</i>).</p><p>(Edited 3: 113 characters, () are optional in the open function).</p><p>(Edited 4: Saved 2 more characters, 111 now).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Mon, 08 Nov 2004 01:12:45 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>More Perl:</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_600.html" target="_blank">open</a> F, <span class="s">"n"</span><span class="k2">;</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td>map <span class="k2">{</span></td></tr><tr><td class="number">4</td><td>  split<span class="k2">;</span></td></tr><tr><td class="number">5</td><td>  push @<span class="k2">{</span>$h<span class="k2">{</span>$_<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">}</span><span class="k2">}</span>, $_<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">6</td><td><span class="k2">}</span> <span class="k3">&lt;</span>F&gt;<span class="k2">;</span></td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td>$<span class="s">"="</span></td></tr><tr><td class="number">9</td><td>        <span class="s">";</span></td></tr><tr><td class="number">10</td><td><span class="s"></span></td></tr><tr><td class="number">11</td><td><span class="s">print @$a &lt; 2 ? "</span>$k @$a<span class="k2">[</span><span class="n">0</span><span class="k2">]</span></td></tr><tr><td class="number">12</td><td><span class="s">" : "</span>$k</td></tr><tr><td class="number">13</td><td>        @$a</td></tr><tr><td class="number">14</td><td><span class="s">"</span></td></tr><tr><td class="number">15</td><td><span class="s">   while ($k, $a) = each %h</span></td></tr></tbody></table></div></div><p>

109 <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><p>ReyBrujo&#39;s beats mine if you change his while into a map.</p><p>(Edit: down to 102)</p><p>You can get it to 91 if you&#39;re allowed to read standard input instead of a file.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Colin O'Leary)</author>
		<pubDate>Mon, 08 Nov 2004 03:06:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>There is the Perl guru you were asking for <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> In his and my code, the problem is reporting the data: He creates a map in 48 characters, I create mine in 47. But I didn&#39;t know about the $&quot; variable :/</p><p>By the way, remove extra semicolon in the push statement <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" /></p><p>Way to go!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Mon, 08 Nov 2004 04:03:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;fstream&gt;</span></td></tr><tr><td class="number">2</td><td><span class="p">#include &lt;map&gt;</span></td></tr><tr><td class="number">3</td><td><span class="p">#include &lt;iostream&gt;</span></td></tr><tr><td class="number">4</td><td><span class="p">#define P &lt;string,string&gt;</span></td></tr><tr><td class="number">5</td><td><span class="p">#define M multimap P</span></td></tr><tr><td class="number">6</td><td><span class="p">#define C cout&lt;&lt;</span></td></tr><tr><td class="number">7</td><td><span class="p">#define S -&gt;second</span></td></tr><tr><td class="number">8</td><td><span class="p">#define N &lt;&lt;'\n'</span></td></tr><tr><td class="number">9</td><td><span class="k1">using</span> <span class="k1">namespace</span> std<span class="k2">;</span></td></tr><tr><td class="number">10</td><td>&#160;</td></tr><tr><td class="number">11</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span>,<span class="k1">char</span><span class="k3">*</span> a<span class="k2">[</span><span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">12</td><td><span class="k2">{</span></td></tr><tr><td class="number">13</td><td>  ifstream f<span class="k2">(</span>a<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>  M m<span class="k2">;</span></td></tr><tr><td class="number">15</td><td>  string i,l<span class="k2">;</span></td></tr><tr><td class="number">16</td><td>  <span class="k1">while</span> <span class="k2">(</span>f&gt;&gt;i&gt;&gt;l<span class="k2">)</span></td></tr><tr><td class="number">17</td><td>    m.insert<span class="k2">(</span>pair P<span class="k2">(</span>l,i<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td>  <span class="k1">for</span> <span class="k2">(</span>M::iterator t<span class="k3">=</span>m.begin<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>t<span class="k3">!</span><span class="k3">=</span>m.end<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">19</td><td>    <span class="k1">int</span> c<span class="k3">=</span>m.count<span class="k2">(</span>i<span class="k3">=</span>t-&gt;first<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td>    <span class="k1">if</span> <span class="k2">(</span>c&gt;1<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">21</td><td>      C i<span class="k3">&lt;</span><span class="k3">&lt;</span><span class="s">"\n\t"</span><span class="k3">&lt;</span><span class="k3">&lt;</span>t S N<span class="k2">;</span></td></tr><tr><td class="number">22</td><td>      <span class="k3">+</span><span class="k3">+</span>t<span class="k2">;</span></td></tr><tr><td class="number">23</td><td>      <span class="k1">while</span> <span class="k2">(</span><span class="k3">-</span><span class="k3">-</span>c&gt;0<span class="k2">)</span></td></tr><tr><td class="number">24</td><td>        C<span class="s">"\t"</span><span class="k3">&lt;</span><span class="k3">&lt;</span><span class="k2">(</span>t<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span> S N<span class="k2">;</span></td></tr><tr><td class="number">25</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">26</td><td>    <span class="k1">else</span></td></tr><tr><td class="number">27</td><td>      C i<span class="k3">&lt;</span><span class="k3">&lt;</span><span class="s">' '</span><span class="k3">&lt;</span><span class="k3">&lt;</span><span class="k2">(</span>t<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span> S N<span class="k2">;</span></td></tr><tr><td class="number">28</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">29</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Rash)</author>
		<pubDate>Mon, 08 Nov 2004 06:38:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Here&#39;s a shorter python version:
</p><div class="source-code snippet"><div class="inner"><pre>a <span class="k3">=</span> <span class="k2">[</span>a.split<span class="k2">(</span><span class="k2">)</span> <span class="k1">for</span> a in file<span class="k2">(</span><span class="s">"f"</span><span class="k2">)</span><span class="k2">]</span>
n <span class="k3">=</span> <span class="k2">{</span><span class="k2">}</span>
<span class="k1">for</span> i in a: n<span class="k2">[</span>i<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">1</span>
<span class="k1">for</span> i in n:
    f <span class="k3">=</span> <span class="k2">[</span> l<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k1">for</span> l in a <span class="k1">if</span> l<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> i <span class="k2">]</span>
    <span class="k1">if</span> len<span class="k2">(</span>f<span class="k2">)</span> <span class="k3">&lt;</span> <span class="n">2</span><span class="k2">:</span>
        print i, f<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>
    else:
        print <span class="s">"\n    "</span>.join<span class="k2">(</span><span class="k3">&lt;</span>i&gt; <span class="k3">+</span> f<span class="k2">)</span>
</pre></div></div><p>

</p><div class="source-code snippet"><div class="inner"><pre><span class="k3">&gt;</span> cat acc.py <span class="k3">|</span> python <span class="k3">-</span>c<span class="s">"import sys; print len([x for x in sys.stdin.read() if x != ' ' and x != '\n' ])"</span>
</pre></div></div><p>

says: 129
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Elias)</author>
		<pubDate>Mon, 08 Nov 2004 07:18:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>124 characters:</p><div class="source-code snippet"><div class="inner"><pre>Print<span class="k2">;</span>
For<span class="k2">[</span>p <span class="k3">=</span> Import<span class="k2">[</span><span class="s">".dat"</span><span class="k2">]</span>, p <span class="k3">!</span><span class="k3">=</span> <span class="k2">{</span><span class="k2">}</span>, p <span class="k3">=</span> Complement<span class="k2">[</span>p, c<span class="k2">]</span>,
  c <span class="k3">=</span> Cases<span class="k2">[</span>p, <span class="k2">{</span>_, p<span class="k2">[</span><span class="k2">[</span><span class="n">1</span>, <span class="n">2</span><span class="k2">]</span><span class="k2">]</span><span class="k2">}</span><span class="k2">]</span><span class="k2">;</span>
  If<span class="k2">[</span><span class="k2">{</span><span class="k2">{</span>d, e<span class="k2">}</span> <span class="k3">=</span> c<span class="k2">[</span><span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span><span class="k2">}</span> <span class="k3">=</span><span class="k3">=</span> c,
    %<span class="k2">[</span>e d<span class="k2">]</span>,
    %<span class="k2">[</span>e<span class="k2">]</span><span class="k2">;</span>
    %<span class="k2">[</span><span class="s">"        "</span>#<span class="k2">[</span><span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">]</span><span class="k2">]</span> <span class="k3">&amp;</span> <span class="k3">/</span>@ c
    <span class="k2">]</span>
  <span class="k2">]</span>
</pre></div></div><p>

I don&#39;t think this can get even shorter <img src="http://www.allegro.cc/forums/smileys/shocked.gif" alt=":o" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Oscar Giner)</author>
		<pubDate>Mon, 08 Nov 2004 08:46:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It&#39;s official: I now hate perl.<br />What the heck is up with Colin&#39;s code? That&#39;s crazy.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Derezo)</author>
		<pubDate>Mon, 08 Nov 2004 10:07:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
It&#39;s official: I now hate perl.
</p></div></div><p>
I used to hate perl as well until I was forced to learn it a little while ago. </p><p>Dude. its. awesome. </p><p>Its such a great language to manipulating text in. I havent found an language that can manipulate text in better, including c,c++,java,python,scheme,shell.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kazzmir)</author>
		<pubDate>Mon, 08 Nov 2004 10:13:24 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well, maybe because PERL was created exactly for that (Practical Extraction and Report Language). And Colin is doing a very clever thing in <i>push @{$h{$_[1]}}, $_[0];</i>: he is using a hashed list in which every value is an array, and then using the <i>$&quot;</i> variable (which I did learn now it keeps the default separator to be used in an array when printing it whole; by default it is a space, but he changes it to &quot;\n\t&quot;) to make Perl output it directly. In my code, I use a hashed list of strings instead, so I need an extra <i>split</i> to convert the string into an array.</p><p>I guess it is still possible to make it &lt; 100 characters.</p><p>Here is my possibly last version, using his suggestion to turn the <i>while</i> into a <i>map</i> (both basically do the same, but the later needs less characters):</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_600.html" target="_blank">open</a> F, <span class="s">"t"</span><span class="k2">;</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td>map <span class="k2">{</span></td></tr><tr><td class="number">4</td><td>    split<span class="k2">;</span></td></tr><tr><td class="number">5</td><td>    @f<span class="k2">{</span>@_<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">}</span> .<span class="k3">=</span> <span class="s">" @_[0]"</span></td></tr><tr><td class="number">6</td><td><span class="k2">}</span> <span class="k3">&lt;</span>F&gt;<span class="k2">;</span></td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td><span class="k1">for</span> <span class="k2">(</span>%f<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">9</td><td>    <span class="k3">+</span><span class="k3">+</span>$c<span class="k2">;</span></td></tr><tr><td class="number">10</td><td>    <span class="k1">if</span> <span class="k2">(</span>split <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">11</td><td>        print $c % <span class="n">2</span>? <span class="s">"</span></td></tr><tr><td class="number">12</td><td><span class="s">$_"</span> <span class="k2">:</span> $_<span class="k2">;</span></td></tr><tr><td class="number">13</td><td>        next</td></tr><tr><td class="number">14</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">15</td><td>&#160;</td></tr><tr><td class="number">16</td><td>    print <span class="s">"</span></td></tr><tr><td class="number">17</td><td><span class="s">    $_"</span> <span class="k1">for</span> @_</td></tr><tr><td class="number">18</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

107.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Mon, 08 Nov 2004 10:41:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>/me looks at perl.<br />/me looks at Derezo&#39;s avatar.<br />Yep, that&#39;s what I look like now.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Billybob)</author>
		<pubDate>Mon, 08 Nov 2004 11:07:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
It&#39;s true; Perl really <i>does</i> look like a cartoon character swearing. <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>Anyway, good job getting it down to 107. Holy crap.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (23yrold3yrold)</author>
		<pubDate>Mon, 08 Nov 2004 11:09:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Perl&#39;s not so bad if you&#39;re not using one character variables, (ab)using map instead of while, and using default variables everywhere.</p><p>Here&#39;s a more readable version (assuming you know Perl <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />)
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_600.html" target="_blank">open</a> FILE, <span class="s">'&lt;'</span>, <span class="s">"names.txt"</span><span class="k2">;</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><span class="k1">while</span><span class="k2">(</span>$<a href="http://www.allegro.cc/manual/line" target="_blank"><span class="a">line</span></a> <span class="k3">=</span> <span class="k3">&lt;</span>FILE&gt;<span class="k2">)</span></td></tr><tr><td class="number">4</td><td><span class="k2">{</span></td></tr><tr><td class="number">5</td><td>   <span class="k2">(</span>$first, $last<span class="k2">)</span> <span class="k3">=</span> split <span class="k3">/</span> <span class="k3">/</span>, $<a href="http://www.allegro.cc/manual/line" target="_blank"><span class="a">line</span></a><span class="k2">;</span></td></tr><tr><td class="number">6</td><td>   push @<span class="k2">{</span>$names<span class="k2">{</span>$last<span class="k2">}</span><span class="k2">}</span>, $first<span class="k2">;</span></td></tr><tr><td class="number">7</td><td><span class="k2">}</span></td></tr><tr><td class="number">8</td><td>&#160;</td></tr><tr><td class="number">9</td><td>foreach $last <span class="k2">(</span>keys %names<span class="k2">)</span></td></tr><tr><td class="number">10</td><td><span class="k2">{</span></td></tr><tr><td class="number">11</td><td>   @first <span class="k3">=</span> @<span class="k2">{</span>$names<span class="k2">{</span>$last<span class="k2">}</span><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>&#160;</td></tr><tr><td class="number">13</td><td>   <span class="k1">if</span><span class="k2">(</span>@first <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span></td></tr><tr><td class="number">14</td><td>   <span class="k2">{</span></td></tr><tr><td class="number">15</td><td>      print <span class="s">"$last $first[0]\n"</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>   <span class="k2">}</span></td></tr><tr><td class="number">17</td><td>   <span class="k1">else</span></td></tr><tr><td class="number">18</td><td>   <span class="k2">{</span></td></tr><tr><td class="number">19</td><td>      print <span class="s">"$last\n"</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td>&#160;</td></tr><tr><td class="number">21</td><td>      foreach $first <span class="k2">(</span>@first<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">22</td><td>         print <span class="s">"\t$first\n"</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">24</td><td>   <span class="k2">}</span></td></tr><tr><td class="number">25</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

And by the way, 99 characters (not including whitespace):
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_600.html" target="_blank">open</a> F, <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td>map <span class="k2">{</span></td></tr><tr><td class="number">4</td><td>  split<span class="k2">;</span></td></tr><tr><td class="number">5</td><td>  push @<span class="k2">{</span>$h<span class="k2">{</span>$_<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">}</span><span class="k2">}</span>, $_<span class="k2">[</span><span class="n">0</span><span class="k2">]</span></td></tr><tr><td class="number">6</td><td><span class="k2">}</span> <span class="k3">&lt;</span>F&gt;<span class="k2">;</span></td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td>$<span class="s">"="</span></td></tr><tr><td class="number">9</td><td>  <span class="s">";</span></td></tr><tr><td class="number">10</td><td><span class="s"></span></td></tr><tr><td class="number">11</td><td><span class="s">print @$a &lt; 2 ? "</span>$k @$a<span class="k2">[</span><span class="n">0</span><span class="k2">]</span></td></tr><tr><td class="number">12</td><td><span class="s">" : "</span>$k</td></tr><tr><td class="number">13</td><td>  @$a</td></tr><tr><td class="number">14</td><td><span class="s">"</span></td></tr><tr><td class="number">15</td><td><span class="s">   while ($k, $a) = each %h</span></td></tr></tbody></table></div></div><p>

Naming the file &quot;0&quot; saves a pair of quotes.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Colin O'Leary)</author>
		<pubDate>Wed, 10 Nov 2004 00:21:20 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>#1 </p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
</p><pre>
\\\\\\\\\\\\\\\\\\\\\\\\\\\` \\\\\\\\\\\\\\\
\||||||||||||||||||||||||||| \|||||||||||||||
\|||@@@@||@@@@||@@@@||@||||| \|||@@@@||@@@@||
\|||@||@||@|||||@||@||@||||| \|||@||@||@||@||
\|||@@@@||@@@|||@@@@||@||||| \|||@@@@||@@@@||
\|||@|||||@|||||@|@|||@||||| \||||||@|||||@||
\|||@|||||@@@@||@||@||@@@@|| \||||||@|||||@||
\||||||||||||||||||||||||||| \|||||||||||||||
</pre><p>
</p></div></div><p>
 - - - - Colin O&#39;Leary<br />#2 107 &lt;Perl&gt; ReyBrujo<br />#3 124 &lt;Mathematica&gt; Oscar Giner4<br />#4 129 &lt;Python&gt; Elias<br />#5 132 &lt;Php&gt; Matthew Leverton<br />#6 143 &lt;Haskell&gt; X-G<br />#7 167 &lt;Python&gt; Mars<br />#8 178 &lt;Python&gt; Joel Davis<br />#9 195 &lt;Lua&gt; Winston Ewert<br />#10 244 &lt;Perl&gt; kazzmir<br />#11 252 &lt;C++&gt; ImLeftFooted<br />#12 364 &lt;C++&gt; Winston Ewert<br />#13 377 &lt;C++&gt; William Heatley<br />#14 400 &lt;C++&gt; Oscar Giner<br />#15 414 &lt;.NET&gt; Rick
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ImLeftFooted)</author>
		<pubDate>Thu, 11 Nov 2004 12:37:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Damn you Colin, steal my thunder &gt;:E <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" /></p><p>Perl:
</p><div class="source-code snippet"><div class="inner"><pre>map <span class="k2">{</span>
  split<span class="k2">;</span>
  push @<span class="k2">{</span>$h<span class="k2">{</span>$_<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">}</span><span class="k2">}</span>, $_<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>
<span class="k2">}</span> `cat n`<span class="k2">;</span>
<span class="k1">for</span> $l <span class="k2">(</span>keys %h<span class="k2">)</span> <span class="k2">{</span>
  print <span class="s">"$l "</span> . shift<span class="k2">(</span>@<span class="k2">{</span>$h<span class="k2">{</span>$l<span class="k2">}</span><span class="k2">}</span><span class="k2">)</span> . <span class="s">"\n"</span><span class="k2">;</span>
  print <span class="s">"\t$_\n"</span> <span class="k1">for</span> <span class="k2">(</span>@<span class="k2">{</span>$h<span class="k2">{</span>$l<span class="k2">}</span><span class="k2">}</span><span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>

114 chars (give or take). And thats without resorting to that evil crud <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><p>edit: moding for that last while loop...</p><div class="source-code snippet"><div class="inner"><pre>map <span class="k2">{</span>
  split<span class="k2">;</span>
  push @<span class="k2">{</span>$h<span class="k2">{</span>$_<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">}</span><span class="k2">}</span>, $_<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>
<span class="k2">}</span> `cat n`<span class="k2">;</span>
$<span class="s">"="</span>
  <span class="s">";</span>
<span class="s">print @$a &lt; 2 ? "</span>$k @$a<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>
<span class="s">" : "</span>$k
  @$a
<span class="s">" while ($k, $a) = each %h</span>
</pre></div></div><p>

Now to count...</p><p>woo hoo, 95 <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Thu, 11 Nov 2004 16:37:34 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>But it forces you to have <i>cat</i>...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Thu, 11 Nov 2004 19:21:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I don&#39;t see a problem with that. If you have perl on windows, you&#39;re going to know how to fix it <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Thu, 11 Nov 2004 19:23:47 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
jane fonda<br />chuck norris<br />ted fonda<br />kyle boop
</p></div></div><p>

In prolog:</p><div class="source-code snippet"><div class="inner"><pre>surname<span class="k2">(</span>jane,fonda<span class="k2">)</span>.
surname<span class="k2">(</span>chuck,norris<span class="k2">)</span>.
surname<span class="k2">(</span>ted,fonda<span class="k2">)</span>.
surname<span class="k2">(</span>kyle,boop<span class="k2">)</span>.
</pre></div></div><p>

And then in the interpreter command line write
</p><div class="source-code snippet"><div class="inner"><pre>surname<span class="k2">(</span>X,fonda<span class="k2">)</span>.
</pre></div></div><p>

(for example).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CascoOscuro)</author>
		<pubDate>Thu, 11 Nov 2004 19:58:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Only Oscar Giner and I have posted correct C++ code.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Rash)</author>
		<pubDate>Fri, 12 Nov 2004 01:12:49 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
map {<br />  split;<br />  push @{$h{$_[1]}}, $_[0]<br />} `cat n`;<br />$&quot;=&quot;<br />  &quot;;<br />print @$a &lt; 2 ? &quot;$k @$a[0]<br />&quot; : &quot;$k<br />  @$a<br />&quot; while ($k, $a) = each %h</p><p>Now to count...</p><p>woo hoo, 95 <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> 
</p></div></div><p>
Curse you:P.  Now i have to change the 99 to 95.  By the way, did you purposely leave off the last &quot; there, or was it a copying error?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ImLeftFooted)</author>
		<pubDate>Fri, 12 Nov 2004 01:14:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hmm... well, now that we are cheating <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" /></p><div class="source-code snippet"><div class="inner"><pre>map <span class="k2">{</span>
  split<span class="k2">;</span>
  push @<span class="k2">{</span>$h<span class="k2">{</span>$_<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">}</span><span class="k2">}</span>, $_<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>
<span class="k2">}</span> <span class="k3">&lt;</span><span class="k3">&gt;</span><span class="k2">;</span>
$<span class="s">"="</span>
  <span class="s">";</span>
<span class="s">print @$a &lt; 2 ? "</span>$k @$a<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>
<span class="s">" : "</span>$k
  @$a
<span class="s">" while ($k, $a) = each %h</span>
</pre></div></div><p>

Execute it like <i>cat file.txt | perl test.pl</i>. Here is the 91 characters entry Colins&#39; was talking about.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Fri, 12 Nov 2004 01:15:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I think that shouldnt be allowed...
</p><div class="source-code snippet"><div class="inner"><pre>main<span class="k2">(</span><span class="k1">int</span>, <span class="k1">char</span> <span class="k3">*</span><span class="k3">*</span>v<span class="k2">)</span> <span class="k2">{</span>
 <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span>v<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>
Comes in at 32</p><p>Edit:<br />execute it using some weird bash command<br />prog &quot;`&lt;something&gt; \&quot;\`cat file.txt\`\&quot;`&quot;
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ImLeftFooted)</author>
		<pubDate>Fri, 12 Nov 2004 01:23:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><img src="http://www.allegro.cc/forums/smileys/cheesy.gif" alt=":D" />  Well, I just don&#39;t agree with the idea of using external aid, like cat. He might later change `cat n` with `c n` and say you need to rename cat to c for it to work <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Fri, 12 Nov 2004 01:33:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Got it down to 11, using a custom compile command:</p><p>[code entry.cpp]<br />#include &quot;c&quot;<br />&lt;/code&gt;</p><p>The compile command is:<br />g++ entry.cpp -o entry `echo -e &quot;#define S string\n#include &lt;iostream&gt;\n#include &lt;fstream&gt;\n#include &lt;map&gt;\nusing namespace std;main ( ) {map &lt; S, S &gt; p ;fstream s ( \&quot;t\&quot; ) ;for ( S e, x ; s.good ( ) ; p [ x ] += \&quot;\t\&quot; + e + \&quot;\\\\\\\\n\&quot; )s &gt;&gt; e &gt;&gt; x;S y;for ( map &lt; S, S &gt; :: iterator P = p.begin ( ) ; ; cout &lt;&lt; P -&gt; first &lt;&lt; ( y . rfind ( \&quot;\t\&quot; ) != 0 ? \&quot;\\\\\\\\n\&quot; : \&quot;\&quot; ) &lt;&lt; y, ++ P )y = P -&gt; second;}&quot; &gt; c`</p><p>Edit:<br />Made the compile command actually one command</p><p>Edit2: Make that 10 characters<br />[code entry.cpp]<br />#include &quot; &quot;<br />&lt;/code&gt;<br />g++ entry.cpp -o entry `echo -e &quot;#define S string\n#include &lt;iostream&gt;\n#include &lt;fstream&gt;\n#include &lt;map&gt;\nusing namespace std;main ( ) {map &lt; S, S &gt; p ;fstream s ( \&quot;t\&quot; ) ;for ( S e, x ; s.good ( ) ; p [ x ] += \&quot;\t\&quot; + e + \&quot;\\\\\\\\n\&quot; )s &gt;&gt; e &gt;&gt; x;S y;for ( map &lt; S, S &gt; :: iterator P = p.begin ( ) ; ; cout &lt;&lt; P -&gt; first &lt;&lt; ( y . rfind ( \&quot;\t\&quot; ) != 0 ? \&quot;\\\\\\\\n\&quot; : \&quot;\&quot; ) &lt;&lt; y, ++ P )y = P -&gt; second;}&quot; &gt; &quot; &quot;`
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ImLeftFooted)</author>
		<pubDate>Fri, 12 Nov 2004 01:47:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Actually...</p><p>While we are doing wierd cheats.  Define the entire program as a preprocessor symbol.  You won&#39;t be able to include, so you&#39;ll have to provide your own prototypes and such.  But you should be able to define the symbol a as your entire program, there by doing it in one letter.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Wetimer)</author>
		<pubDate>Fri, 12 Nov 2004 03:51:09 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Oh come on, cat in perl is not a weird cheat <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>By the way, did you purposely leave off the last &quot; there, or was it a copying error?</p></div></div><p>no error, just changed the formatting, colin&#39;s dsiplays wrong too. Has to do with that $&quot; variable. the highligter thinks it starts a string.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Fri, 12 Nov 2004 05:39:29 +0000</pubDate>
	</item>
</rss>
