<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
	<title>Big Fish</title>
	<link>http://fishy.buddie5.com</link>
	<description>本blog主题：猫、电影、游戏、滑板、旅游、娱乐、足球、扯淡、骂娘、等等等等</description>
	<language>zh-cn</language>
	<docs>http://blogs.law.harvard.edu/tech/rss</docs>
	<lastBuildDate>Sat, 04 Jul 2009 05:08:58 +8000</lastBuildDate>
	<item>
		<title><![CDATA[2009 Q2 电影总结]]></title>
		<link>http://fishy.buddie5.com/item/858</link>
		<guid>http://fishy.buddie5.com/item/858</guid>
		<pubDate>Sat, 04 Jul 2009 05:08:58 +0800</pubDate>
		<author>fishy &lt;nospam@buddie5.com&gt; </author>
		<description><![CDATA[
<p>撒尿准备睡觉的时候突然想起来，原来已经7月了。。。</p>
<ul>
<li><a href="http://www.douban.com/subject/1300992/">A Perfect World</a>: 8/10. 在马来西亚因为暴雨不能出去晒太阳的时候在房间看的。老牛仔真的是个靠谱的导演。</li>
<li><a href="http://www.douban.com/subject/2028650/">Monsters vs. Aliens</a>: 6/10. 那个总统弹琴比较有创意，别的基本上乏善可陈。</li>
<li><a href="http://www.douban.com/subject/2147854/">Yes Man</a>: 6/10. 女主角很好看！没了。</li>
<li><a href="http://www.douban.com/subject/3436615/">Oktapodi</a>: 7/10. SIGGRAPH获奖短片，admire 各位搞图形学的。。。不过这个片子还不错。</li>
<li><a href="http://www.douban.com/subject/2149806/">おくりびと (入殓师)</a>: 7/10. 日本人真的是个神奇的民族，在死亡这种沉重的题材下也不忘时不时的幽默一下，比如一开始那个“带把儿”的。另外花瓶广末凉子很好看。</li>
<li><a href="http://www.douban.com/subject/3077668/">天水围的日与夜</a>: 6/10. 这个片子实在太平淡了。</li>
<li><a href="http://www.douban.com/subject/1422063/">Final Fantasy VII: Advent Children Complete</a>: 7/10. AC刚出来的时候就看过，不过那会儿FF7只玩了一半(其实现在也还是只玩了一半)所以也没啥特别的感觉。现在玩过CC再看ACC，感觉确实好多了。SE赶紧出FF7的复刻！</li>
<li><a href="http://www.douban.com/subject/2988103/">Bienvenue chez les Ch'tis (欢迎来北方)</a>: 7/10. 据说这个片子打破法国票房纪录后，无数法国南方人往北方跑，导致法国南部被移民迅速绿化了。。。</li>
<li><a href="http://www.douban.com/subject/1297630/">The Sixth Sense</a>: 7/10. 被人剧透了。。。Bruce Willis同学没有主角光环的时候，演的也还是不错嘛。</li>
<li><a href="http://www.douban.com/subject/1485260/">The Curious Case of Benjamin Button</a>: 8/10. 拥有跟别人完全不同的生命体验，到底是幸运还是不幸呢？</li>
<li><a href="http://www.douban.com/subject/2132932/">Star Trek</a>: 9/10. 无懈可击的硬科幻，说明了fans向电影除了可以取悦老fans外，也可以培养新fans的——我已经开始看<a href="http://www.imdb.com/title/tt0060028/">TOS</a>了。</li>
<li><a href="http://www.douban.com/subject/2032143/">Tokyo Sonata</a>: 7/10. 跟入殓师类似，都是控诉经济危机的作品 :P</li>
<li><a href="http://www.douban.com/subject/2028666/">Changeling</a>: 9/10. <a href="http://www.douban.com/subject/discussion/12091702/">怎么看怎么眼熟</a>，老牛仔一定是偷偷关注天朝新闻才拍出来的这么一部作品。。。</li>
<li><a href="http://www.douban.com/subject/1301345/">The Italian Job</a>: 6/10. 无聊的时候翻到的估计是博士放到我的Time Capsule上的片，Edward Norton同学演了个世上最贫乏的反派，然后看到IMDb上他声称是<a href="http://www.imdb.com/title/tt0317740/trivia">因为合同问题被迫接的这么个角色</a>。另外这么一个翻拍的没啥特点的广告片居然要出<a href="http://www.imdb.com/title/tt0427396/">续集</a>了，这个世界真可怕。</li>
<li><a href="http://www.douban.com/subject/1940309/">Fanboys</a>: 8/10. Fanboy拍给Fanboy看的片子，里面有演<a href="http://en.wikipedia.org/wiki/Princess_Leia_Organa">Princess Leia</a>的<a href="http://www.imdb.com/name/nm0000402/">Carrie Fisher</a>和演<a href="http://en.wikipedia.org/wiki/James_T._Kirk">Captain Kirk</a>的<a href="http://www.imdb.com/name/nm0000638/">William Shatner</a>(这个比较囧)的客串。另外他们费那么大劲就是为了看<a href="http://www.imdb.com/title/tt0120915/">ep1</a>实在是有点不值。。。要是<a href="http://www.imdb.com/title/tt0121766/">ep3</a>的话就好了。</li>
<li><a href="http://www.douban.com/subject/1306388/">Edges of the Lord</a>: 7/10. 作为一个<a href="http://en.wikipedia.org/wiki/Pastafarian">Pastafarian</a>，看到点题的那个基督教圣餐，我总会想到<a href="http://www.douban.com/subject/2054122/">福音</a>里面的圣餐实验。。。</li>
<li><a href="http://www.douban.com/subject/1919245/">Coraline</a>: 7/10. Neil Gaiman似乎很擅长写这种想像力丰富带点奇幻的剧本，比如<a href="http://www.douban.com/subject/1428378/">MirrorMask</a>和<a href="http://www.douban.com/subject/1867335/">Stardust</a>。</li>
<li><a href="http://www.douban.com/subject/3026357/">Gran Torino</a>: 7/10. 我每个月看了一部老牛仔的电影。。。有传闻说这是他的最后一部电影，希望不是真的(<a href="http://www.imdb.com/name/nm0000142/">从IMDb来看</a>应该也不是真的)。</li>
<li><a href="http://www.douban.com/subject/2161696/">He's Just Not That Into You</a>: 6/10. 又一个轻松爱情排列组合片，<a href="http://www.imdb.com/name/nm0519043/">Mac Guy</a>是亮点。</li>
<li><a href="http://www.douban.com/subject/3734350/">Partly Cloudy</a>: 7/10. Pixar短片，一贯水准。</li>
<li><a href="http://www.douban.com/subject/1410556/">Terminator Salvation</a>: 6/10. 小组福利。如果是<a href="http://www.douban.com/review/2035965/">传说中</a>的那个<a href="http://chud.com/articles/articles/19577/1/EXCLUSIVE-WHAT-WENT-WRONG-WITH-TERMINATOR-SALVATION/Page1.html ">原来的剧本</a>，这个片子本来可以很牛逼的。另外仔细想一下，好像Terminator系列的时空观从1开始就很扯？</li>
<li><a href="http://www.douban.com/subject/1309297/">神经侠侣</a>: 6/10. CCAV6上看到的，其实这个片子没有名字看起来那么烂。</li>
<li><a href="http://www.douban.com/subject/2364834/">The Rocker</a>: 7/10. 肥男也有春天。。。OST很好听。</li>
<li><a href="http://www.douban.com/subject/3053521/">二十四城记</a>: 6/10. 当时一直想去电影院看结果一不小心就下档了没赶上，不过现在觉得幸好没去电影院，跟想象的很不一样。另外里面陈冲演的角色被大家公认长得很像陈冲，这个实在是很囧。</li>
<li><a href="http://www.douban.com/subject/2146991/">Transformers: Revenge of the Fallen</a>: 6/10. 主角光环片。小Tip：如果变形金刚们打假的时候你分不清狂派和博派，那么有颜色的就是博派，黑白灰的就是狂派。</li>
</ul>
<p>这个季度要去电影院看两个动画片，然后开始屯片准备应对某超长档期片。</p>
		]]></description>
	</item>
	<item>
		<title><![CDATA[Braid通关]]></title>
		<link>http://fishy.buddie5.com/item/852</link>
		<guid>http://fishy.buddie5.com/item/852</guid>
		<pubDate>Fri, 19 Jun 2009 17:27:12 +0800</pubDate>
		<author>fishy &lt;nospam@buddie5.com&gt; </author>
		<description><![CDATA[
<p><a href="http://braid-game.com/">Braid</a>是一个<a href="http://en.wikipedia.org/wiki/Braid_(video_game)">平台解谜游戏</a>。有<a href="http://en.wikipedia.org/wiki/Xbox_360">XO</a><a href="http://www.xbox.com/en-US/games/b/braidxboxlivearcade/">版</a>(<a href="http://en.wikipedia.org/wiki/Xbox_Live_Arcade">Xbox Live Arcade</a>)、<a href="http://www.playgreenhouse.com/game/NNONE-000001-01/">PC版和Mac版</a>。</p>
<p>这个游戏一上来是教你怎么玩的教学关，你可以左右走、跳、跳起来踩敌人头把敌人踩死。。。看起来是不是很像<a href="http://en.wikipedia.org/wiki/Super_Mario_Bros.">超级玛丽</a>？不是，你还能回退(rewind)时间！比如你跳早了没踩到怪结果被怪摸死了，这个时候回退一下重新跳就好了。</p>
<p>OK我只是随便举了个例子，这个游戏的重点可不是奥特曼打小怪兽，而是拿到分布在世界各地的拼图碎片。而要取得这些碎片，很多时候你必须使用回退时间等技能。除了回退时间外，你还有些别的跟时间相关的特殊技能，具体的可以看官方宣传视频：</p>
<p><object width="400" height="230"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4083982&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=4083982&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="230"></embed></object></p>
<p>全游戏一共有60个拼图碎片，这60个碎片的取得方法包含了各种变态，设计得十分精巧，而且“绝无重复”(出自官方宣传语)。这些迷题的设计，使得我不得不说这是个神作。</p>
<p>这个游戏据说还能收集八个隐藏星星开启隐藏结局。可以哪天有时间玩一把。不过这八个星星实在是比那60个拼图还要变态一百倍。比如这第一个星星(<a href="http://www.gamefaqs.com/computer/mac/file/955511/53741">原文链接</a>，credit to <a href="http://www.gamefaqs.com/features/recognition/80007.html">CraigG</a>)：</p>
<blockquote><p>
World 2-2<br />
This one... requires... a lot... of... patience... and... waiting... :P<br />
Seriously. Anyway... go to the right and you'll notice what looks like a<br />
stationary cloud. Believe it or not, it's actually moving to the left VERY<br />
slowly. It takes a good 2 hours for it to complete its journey to the left.<br />
You'll actually want to jump on it at about 1 1/2 hours into its journey. It<br />
should be just above the first door next to the cannon. This is where you want<br />
to park Tim, waiting for the cloud. You can't do anything to speed up the time,<br />
so I suggest you have a controller that doesn't turn off automatically for this<br />
to work (otherwise, the game will keep pausing when your controller goes off).<br />
At any rate... once you're on that cloud you've still got about 30 minutes left<br />
to wait. After it finally reaches the left-hand side, you can jump up and onto<br />
a ledge just above you and to your left. Notice that a new part of the level<br />
is revealed. You can now nab that star you waited so long for. Congrats!
</p></blockquote>
<p>简单的说，就是要傻等2个小时。。。可以考虑设个闹钟然后去干别的，比如看个片啥的。</p>
		]]></description>
	</item>
	<item>
		<title><![CDATA[今天的月亮不错]]></title>
		<link>http://fishy.buddie5.com/item/847</link>
		<guid>http://fishy.buddie5.com/item/847</guid>
		<pubDate>Tue, 09 Jun 2009 23:04:04 +0800</pubDate>
		<author>fishy &lt;nospam@buddie5.com&gt; </author>
		<description><![CDATA[
<p>很圆：</p>
<p><a href="http://www.flickr.com/photos/fishywang/3610241691/" title="(Nearly) Full Moon by Yuxuan.fishy.Wang, on Flickr"><img src="http://farm4.static.flickr.com/3339/3610241691_063a0be0dc.jpg" width="500" height="375" alt="(Nearly) Full Moon" /></a></p>
<p>1秒手持，哈哈！</p>
		]]></description>
	</item>
	<item>
		<title><![CDATA[Lego Darth Vader!]]></title>
		<link>http://fishy.buddie5.com/item/844</link>
		<guid>http://fishy.buddie5.com/item/844</guid>
		<pubDate>Mon, 08 Jun 2009 16:52:07 +0800</pubDate>
		<author>fishy &lt;nospam@buddie5.com&gt; </author>
		<description><![CDATA[
<p>拼Lego真的很有乐趣，所以我拼好<a href="http://fishy.buddie5.com/item/836">大宗主送我的那套</a>后，又去淘宝上买了一套回来。这次是。。。Darth Vader!</p>
<p><a href="http://www.flickr.com/photos/fishywang/3606800250/" title="Lego Star Wars 8017 - box by Yuxuan.fishy.Wang, on Flickr"><img src="http://farm4.static.flickr.com/3624/3606800250_2c79cc19b1.jpg" width="500" height="375" alt="Lego Star Wars 8017 - box" /></a></p>
<p>这个是ep4里面<a href="http://www.starwars.com/databank/character/lukeskywalker/">Luke</a>他们去炸<a href="http://www.starwars.com/databank/location/deathstar/">Death Star</a>的时候，<a href="http://www.starwars.com/databank/character/darthvader/">Darth Vader</a>开出来拦他们的TIE Fighter。Darth Vader + TIE Fighter啊，多么激动人心的组合，下次再买个Luke Skywalker + <a href="http://www.starwars.com/databank/starship/xwing/">X-Wing</a>就完美了，不过家里已经没地方放了。。。</p>
<p>说明书上的lego列表，比上一个少了很多。另外不知道是中国版的原因还是后来改版的原因，我觉得这个说明书比上一个简单了不少，都不说每一块需要哪些lego了：</p>
<p><a href="http://www.flickr.com/photos/fishywang/3606801682/" title="Lego Star Wars 8017 - legos list by Yuxuan.fishy.Wang, on Flickr"><img src="http://farm4.static.flickr.com/3662/3606801682_0ea35885f2.jpg" width="500" height="375" alt="Lego Star Wars 8017 - legos list" /></a></p>
<p>摘下头盔的Darth Vader同学，拿着他的红色lightsaber：</p>
<p><a href="http://www.flickr.com/photos/fishywang/3606001287/" title="Lego Star Wars 8017 - Darth Vader helm off by Yuxuan.fishy.Wang, on Flickr"><img src="http://farm4.static.flickr.com/3650/3606001287_2779d496c0.jpg" width="500" height="375" alt="Lego Star Wars 8017 - Darth Vader helm off" /></a></p>
<p>因为有经验，这次一上来就分类，于是一个半小时就拼好了：</p>
<p><a href="http://www.flickr.com/photos/fishywang/3606003171/" title="Lego Star Wars 8017 - finished 1/4 by Yuxuan.fishy.Wang, on Flickr"><img src="http://farm4.static.flickr.com/3640/3606003171_0d5eea5aa6.jpg" width="500" height="375" alt="Lego Star Wars 8017 - finished 1/4" /></a></p>
<p>打开舱门，Darth Vader同学坐在里面(红色lightsaber藏在TIE下面)：</p>
<p><a href="http://www.flickr.com/photos/fishywang/3606824034/" title="Lego Star Wars 8017 - finished 2/4 by Yuxuan.fishy.Wang, on Flickr"><img src="http://farm4.static.flickr.com/3352/3606824034_f3beabe489.jpg" width="500" height="375" alt="Lego Star Wars 8017 - finished 2/4" /></a></p>
<p>下来摆个pose：</p>
<p><a href="http://www.flickr.com/photos/fishywang/3606007065/" title="Lego Star Wars 8017 - finished 4/4 by Yuxuan.fishy.Wang, on Flickr"><img src="http://farm4.static.flickr.com/3602/3606007065_069ee502ee.jpg" width="500" height="375" alt="Lego Star Wars 8017 - finished 4/4" /></a></p>
<p>照片还是<a href="http://www.flickr.com/photos/fishywang/sets/72157618988245562/detail/">在flickr上</a>。</p>
<p>btw, 顺路推荐一下<a href="http://www.imdb.com/title/tt0489049/">Fanboys</a>，里面有<a href="http://www.imdb.com/name/nm0000402/">Carrie Fisher</a>(ep. 4, 5, 6里面扮演<a href="http://www.starwars.com/databank/character/leiaorganasolo/">Princess Leia</a>)和<a href="http://www.imdb.com/name/nm0000638/">William Shatner</a>(Star Trek里面扮演<a href="http://en.wikipedia.org/wiki/James_T._Kirk">Captain Kirk</a>)的客串！</p>
		]]></description>
	</item>
	<item>
		<title><![CDATA[概率问题(续)]]></title>
		<link>http://fishy.buddie5.com/item/842</link>
		<guid>http://fishy.buddie5.com/item/842</guid>
		<pubDate>Fri, 05 Jun 2009 12:40:52 +0800</pubDate>
		<author>fishy &lt;nospam@buddie5.com&gt; </author>
		<description><![CDATA[
<p><a href="http://fishy.buddie5.com/item/838">昨天说的那个概率问题</a>其实叫<a href="http://en.wikipedia.org/wiki/Monty_Hall_problem">Monty Hall problem</a>。昨天给的那个结果其实依赖于一个前提，就是主持人故意选择打开了有山羊的一个门。如果主持人只是随机/偶然/不小心打开了有山羊的一个门，这个问题叫做<a href="http://en.wikipedia.org/wiki/Monty_Hall_problem#Other_host_behaviors">Monty Fall problem</a>。在这种情况下，程序模拟的结果是这样的：</p>
<blockquote><p>
fishy@localhost:~/work/test$ ./test 100000<br />
CHANGE<br />
 *** right on 22096 out of 44359, 49.81% ***<br />
NO CHANGE<br />
 *** right on 22198 out of 44412, 49.98% ***<br />
fishy@localhost:~/work/test$ ./test 1000000<br />
CHANGE<br />
 *** right on 222412 out of 444576, 50.03% ***<br />
NO CHANGE<br />
 *** right on 221543 out of 444252, 49.87% ***<br />
fishy@localhost:~/work/test$ ./test 10000000<br />
CHANGE<br />
 *** right on 2219600 out of 4441565, 49.97% ***<br />
NO CHANGE<br />
 *** right on 2222900 out of 4446490, 49.99% ***
</p></blockquote>
<p>这种情况的结果是换不换都是1/2。</p>
<p>程序如下：</p>
<blockquote class="vimblock"><p>
<span class="lnr">&nbsp;1 </span><span class="PreProc">#include </span><span class="Constant">&lt;stdio.h&gt;</span><br />
<span class="lnr">&nbsp;2 </span><span class="PreProc">#include </span><span class="Constant">&lt;time.h&gt;</span><br />
<span class="lnr">&nbsp;3 </span><span class="PreProc">#include </span><span class="Constant">&lt;stdlib.h&gt;</span><br />
<span class="lnr">&nbsp;4 </span><br />
<span class="lnr">&nbsp;5 </span><span class="Type">typedef</span>&nbsp;<span class="Type">int</span>&nbsp;changefunc(<span class="Type">int</span>, <span class="Type">int</span>);<br />
<span class="lnr">&nbsp;6 </span><br />
<span class="lnr">&nbsp;7 </span><span class="Type">int</span>&nbsp;change(<span class="Type">int</span>&nbsp;guess, <span class="Type">int</span>&nbsp;show) {<br />
<span class="lnr">&nbsp;8 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">return</span>&nbsp;<span class="Constant">0</span>+<span class="Constant">1</span>+<span class="Constant">2</span>&nbsp;- guess - show;<br />
<span class="lnr">&nbsp;9 </span>}<br />
<span class="lnr">10 </span><br />
<span class="lnr">11 </span><span class="Type">int</span>&nbsp;nochange(<span class="Type">int</span>&nbsp;guess, <span class="Type">int</span>&nbsp;show) {<br />
<span class="lnr">12 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">return</span>&nbsp;guess;<br />
<span class="lnr">13 </span>}<br />
<span class="lnr">14 </span><br />
<span class="lnr">15 </span><span class="Type">void</span>&nbsp;loop(<span class="Type">int</span>&nbsp;times, changefunc func, <span class="Type">int</span>&nbsp;print) {<br />
<span class="lnr">16 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Type">int</span>&nbsp;i, n, t;<br />
<span class="lnr">17 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n = <span class="Constant">0</span>;<br />
<span class="lnr">18 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t = <span class="Constant">0</span>;<br />
<span class="lnr">19 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">for</span>(i=<span class="Constant">0</span>;i&lt;times;i++) {<br />
<span class="lnr">20 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Type">int</span>&nbsp;target = rand() % <span class="Constant">3</span>;<br />
<span class="lnr">21 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Type">int</span>&nbsp;guess = rand() % <span class="Constant">3</span>;<br />
<span class="lnr">22 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Type">int</span>&nbsp;show = rand() % <span class="Constant">3</span>;<br />
<span class="lnr">23 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Type">int</span>&nbsp;finalguess;<br />
<span class="lnr">24 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">if</span>(show == target)<br />
<span class="lnr">25 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">continue</span>;<br />
<span class="lnr">26 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">if</span>(show == guess)<br />
<span class="lnr">27 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">continue</span>;<br />
<span class="lnr">28 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t++;<br />
<span class="lnr">29 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;finalguess = func(guess, show);<br />
<span class="lnr">30 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">if</span>(print)<br />
<span class="lnr">31 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(<span class="Constant">&quot;guess </span><span class="Special">%d</span><span class="Constant">, show </span><span class="Special">%d</span><span class="Constant">, changed to </span><span class="Special">%d</span><span class="Constant">, result is </span><span class="Special">%d</span><span class="Special">\n</span><span class="Constant">&quot;</span>, guess, show, finalguess, target);<br />
<span class="lnr">32 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">if</span>(target == finalguess) n++;<br />
<span class="lnr">33 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<span class="lnr">34 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(<span class="Constant">&quot; *** right on </span><span class="Special">%d</span><span class="Constant">&nbsp;out of </span><span class="Special">%d</span><span class="Constant">, </span><span class="Special">%.2f%%</span><span class="Constant">&nbsp;***</span><span class="Special">\n</span><span class="Constant">&quot;</span>, n, t, ((<span class="Type">double</span>)n)/t*<span class="Constant">100</span>);<br />
<span class="lnr">35 </span>}<br />
<span class="lnr">36 </span><br />
<span class="lnr">37 </span><span class="Type">int</span>&nbsp;main(<span class="Type">int</span>&nbsp;argc, <span class="Type">char</span>&nbsp;**argv) {<br />
<span class="lnr">38 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">if</span>(argc &lt;= <span class="Constant">1</span>)<br />
<span class="lnr">39 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">return</span>&nbsp;-<span class="Constant">1</span>;<br />
<span class="lnr">40 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Type">int</span>&nbsp;times = atoi(argv[<span class="Constant">1</span>]);<br />
<span class="lnr">41 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Type">int</span>&nbsp;print = (argc &gt;= <span class="Constant">3</span>);<br />
<span class="lnr">42 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;srand(time(<span class="Constant">0</span>));<br />
<span class="lnr">43 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Comment">// change</span><br />
<span class="lnr">44 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(<span class="Constant">&quot;CHANGE</span><span class="Special">\n</span><span class="Constant">&quot;</span>);<br />
<span class="lnr">45 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loop(times, change, print);<br />
<span class="lnr">46 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Comment">// no change</span><br />
<span class="lnr">47 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(<span class="Constant">&quot;NO CHANGE</span><span class="Special">\n</span><span class="Constant">&quot;</span>);<br />
<span class="lnr">48 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loop(times, nochange, print);<br />
<span class="lnr">49 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">return</span>&nbsp;<span class="Constant">0</span>;<br />
<span class="lnr">50 </span>}<br />
</p></blockquote>
<p>为什么两种情况下会不一样呢？原因是两种情况下，主持人开门的概率是不一样的。<a href="http://www.iscott.cn/post/%E4%B8%80%E9%81%93%E6%9C%89%E6%84%8F%E6%80%9D%E7%9A%84%E6%95%B0%E5%AD%A6%E9%A2%98-monty-hall-problem.html#comment-289180">这里</a>有个详细的证明。</p>
<p>不过在这两种情况下，换的结果都不会差于不换的结果，所以总之还是应该换。</p>
		]]></description>
	</item>
	<item>
		<title><![CDATA[休假装艺术青年]]></title>
		<link>http://fishy.buddie5.com/item/840</link>
		<guid>http://fishy.buddie5.com/item/840</guid>
		<pubDate>Fri, 05 Jun 2009 01:50:35 +0800</pubDate>
		<author>fishy &lt;nospam@buddie5.com&gt; </author>
		<description><![CDATA[
<p><a href="http://www.chncpa.org/">国家大剧院</a>最近搞了个<a href="http://www.chncpa.org/n16/gejujie2009/">歌剧节</a>，选的几个歌剧看着都很诱人。最后我在<a href="http://zh.wikipedia.org/w/index.php?title=%E8%9D%B4%E8%9D%B6%E5%A4%AB%E4%BA%BA&variant=zh-cn">蝴蝶</a><a href="http://www.chncpa.org/n16/gejujie2009/hudiefuren.html">夫人</a>和<a href="http://zh.wikipedia.org/w/index.php?title=%E5%BC%84%E8%87%A3_(%E6%AD%8C%E5%8A%87)&variant=zh-cn">弄</a><a href="http://www.chncpa.org/n16/gejujie2009/nongchen.html">臣</a>中选了前者，这个主要是因为我在上歌剧赏析课时看过帕瓦罗蒂版的弄臣的video，而蝴蝶夫人我还没听过。于是上国家大剧院官网订了张今天的票。考虑到本周要连续工作6天，于是我今天请了一天假，计划先去看<a href="http://www.namoc.org/">中国美术馆</a>的<a href="http://www.namoc.org/msg/zhanlan/200904/t20090408_94162.html">透纳画展</a>然后去听歌剧，多么完美的艺术的一天啊。</p>
<p>但是事情就没有一帆风顺的。我中午12点起床后先去剃了个头，以避免<a href="http://www.flickr.com/photos/fishywang/3595124861/">形象太艺术青年</a>在离帝堵中心那么近的地方引发不必要的关注和麻烦，然后回家洗了个澡、吃了个饭，还无聊的<a href="http://fishy.buddie5.com/item/838">写了个程序</a>。我差点都想写程序的相关blog了，不过还是忍住了决定活着回来后再写。虽然没写blog，但我还是3点钟才出门。</p>
<p>然后一路13号线10号线5号线的倒，到美术馆的时候已经16:05左右，然后我惊讶的发现售票处关门了！门口一个跟我同样吃了闭门羹的mm告诉我说4点停止售票。考虑到今天的特殊情况，我还特意去找保安确认了一下不是今天特殊而是每天都这样4点停止售票5点闭馆。没办法，只能周末再来了。</p>
<p>计划被打乱的结果就是我只能<a href="http://gpsed.com/track/418506155990660554">上街游荡</a>了，歌剧19:30才开始呢。于是我开始往南走，结果居然下雨了。真是应了那句“每年的这两天北京都会下点雨”的说法啊。我走到王府井步行街北边的居然有一阵狂风暴雨，真的是上天也被感动了么。。。</p>
<p>在王府井新东安的厕所避了个雨，顺便试图找人出来陪我吃饭，未果。出来后雨也停了，还在步行街上看到有个人滑滑板。想了想貌似也不太饿，离19:30还有好几个小时，于是也懒得坐地铁了，沿着长安街开始往大剧院走。一路上发现天朝政府真体贴啊，沿路每走几布就能看到一对警察，或者一辆警车，或者一对城管，或者一辆城管车。在这样优秀的治安下，我再也不怕包被人掏了，于是放心的把包背在身后。回想起当年在南京新街口被小偷掏包的情景，不禁感慨还是首都好啊！</p>
<p>路过伟大的广场的时候，还看到了好多大叔拿着伞游荡。回想起刚才狂风暴雨的时候路边一个小店的人跟我叫卖10块钱一把伞，看来人民群众的生活真的富裕了也。</p>
<p>最后很无聊的绕到西单去吃了个饭，回到大剧院，19:00整，存包进场。</p>
<p>由于<a href="http://fishy.buddie5.com/item/593">上次在歌剧厅看演出</a>买的是二楼楼座基本正中的位置，考虑到其他位置看起来还没这个好，于是这次很抽风的买了一楼楼座正中的位置，也就是最贵的一档票。不过进去坐下后发现这个位置也还是有点远的，也许池座正中靠前的位置会更好一点。那个位置的票价稍微便宜一点，是第二贵的。</p>
<p>演出前我后面那排还坐下了个10岁左右的小萝莉，让我不禁感慨国家大剧院还是一如既往的不靠谱。连北大讲堂都知道这种演出1米2以下谢绝入场的。不过这次还比较好的一点是，整个演出期间那个小萝莉没发出过什么噪音。</p>
<p>另外一个一如既往就是国家大剧院歌剧厅的音响效果还是一如既往的烂。女高音(<a href="http://en.wikipedia.org/wiki/Liping_Zhang">张立萍</a>)在唱最高的几个音的时候，无一例外的被乐队的声音盖过而彻底听不清在唱什么(因为这种时候一般因为情绪原因乐队配乐也是华彩重音)。虽然我以前没听她唱过不知道是不是她自身的原因，但是考虑到男女高音的嗓门一般都小不了(<a href="http://zh.wikipedia.org/w/index.php?title=%E6%88%B4%E7%8E%89%E5%BC%BA&variant=zh-cn">戴玉强</a>曾号称男高音应该不用麦克也能让全场都听到的)，所以我相信还是混音和音响效果烂的可能性更大一点。</p>
<p>这个剧的配乐不错，比如前奏啥的都很不错。但是感觉咏叹调太少宣叙调太多(也能是因为音响效果太烂导致一些咏叹调听着像宣叙调)，所以听着也不是太爽。</p>
<p>所以还是等María Pagés大妈下次来跳Flamenco的时候再去国家大剧院的歌剧厅吧。这实在不是个看歌剧的好地方。</p>
<p>另外等待开场的时候填了个调查问卷(不知道会不会从此收到无数垃圾短信)，换了一套国家大剧院的书签回来。让我想起曾经看到一篇文章介绍装逼方法的，其中一个方法就是在家里摆个大部头书里面夹两张歌剧票到书签。我现在有书签了，不过还没大部头书。。。</p>
		]]></description>
	</item>
	<item>
		<title><![CDATA[概率问题]]></title>
		<link>http://fishy.buddie5.com/item/838</link>
		<guid>http://fishy.buddie5.com/item/838</guid>
		<pubDate>Fri, 05 Jun 2009 00:05:00 +0800</pubDate>
		<author>fishy &lt;nospam@buddie5.com&gt; </author>
		<description><![CDATA[
<p>有个经典概率问题是这样的：三个门，其中一个后面是轿车，另外两个后面是山羊，你任选一个门，如果打开了后面是汽车，汽车就归你。你选了一个门后，主持人打开了另一个门，后面是山羊。这时他给你一个机会更改自己的选择，你要坚持自己一开始的选择还是更改自己的选择？这个问题很有名，比如电影<a href="http://www.imdb.com/title/tt0478087/">21</a>里面也提到过(btw, 这个电影很一般，没看过的就不用浪费时间了)。</p>
<p>答案是更改选择。因为不改的话你选对的概率是1/3，而改了你选对的概率变成2/3。</p>
<p>昨天杨爷不知道为啥又把这个问题翻出来了，然后跟我们讨论为啥不是1/2。我概率学的不够好，没找到足够让人信服的理由反驳他的1/2。不过我C语言学的比较好，而且正好今天休假比较闲，于是中午写了个程序模拟了一下。。。这个是跑很多次的结果：</p>
<blockquote><p>
fishy@Makelele:~/work/test$ ./test 100000<br />
CHANGE<br />
 *** right on 66706 out of 100000, 66.71% ***<br />
NO CHANGE<br />
 *** right on 33331 out of 100000, 33.33% ***<br />
fishy@Makelele:~/work/test$ ./test 1000000<br />
CHANGE<br />
 *** right on 667107 out of 1000000, 66.71% ***<br />
NO CHANGE<br />
 *** right on 332750 out of 1000000, 33.28% ***<br />
fishy@Makelele:~/work/test$ ./test 10000000<br />
CHANGE<br />
 *** right on 6666707 out of 10000000, 66.67% ***<br />
NO CHANGE<br />
 *** right on 3334351 out of 10000000, 33.34% ***
</p></blockquote>
<p>这个是只跑了20次但是给出具体内容的结果：</p>
<blockquote><p>
fishy@Makelele:~/work/test$ ./test 20 a<br />
CHANGE<br />
guess 1, show 0, changed to 2, result is 2<br />
guess 0, show 1, changed to 2, result is 2<br />
guess 1, show 2, changed to 0, result is 0<br />
guess 0, show 1, changed to 2, result is 2<br />
guess 0, show 2, changed to 1, result is 0<br />
guess 1, show 2, changed to 0, result is 0<br />
guess 2, show 0, changed to 1, result is 1<br />
guess 0, show 1, changed to 2, result is 0<br />
guess 2, show 0, changed to 1, result is 2<br />
guess 0, show 2, changed to 1, result is 1<br />
guess 0, show 2, changed to 1, result is 1<br />
guess 0, show 2, changed to 1, result is 0<br />
guess 0, show 2, changed to 1, result is 0<br />
guess 1, show 0, changed to 2, result is 2<br />
guess 0, show 2, changed to 1, result is 1<br />
guess 0, show 1, changed to 2, result is 2<br />
guess 2, show 1, changed to 0, result is 0<br />
guess 2, show 1, changed to 0, result is 0<br />
guess 1, show 0, changed to 2, result is 2<br />
guess 0, show 2, changed to 1, result is 1<br />
 *** right on 15 out of 20, 75.00% ***<br />
NO CHANGE<br />
guess 2, show 1, changed to 2, result is 0<br />
guess 1, show 2, changed to 1, result is 0<br />
guess 1, show 0, changed to 1, result is 1<br />
guess 1, show 2, changed to 1, result is 0<br />
guess 0, show 2, changed to 0, result is 1<br />
guess 2, show 0, changed to 2, result is 1<br />
guess 1, show 0, changed to 1, result is 1<br />
guess 0, show 2, changed to 0, result is 0<br />
guess 1, show 2, changed to 1, result is 1<br />
guess 0, show 1, changed to 0, result is 2<br />
guess 1, show 2, changed to 1, result is 0<br />
guess 0, show 1, changed to 0, result is 0<br />
guess 1, show 2, changed to 1, result is 0<br />
guess 0, show 1, changed to 0, result is 2<br />
guess 0, show 1, changed to 0, result is 2<br />
guess 1, show 0, changed to 1, result is 2<br />
guess 0, show 1, changed to 0, result is 0<br />
guess 1, show 0, changed to 1, result is 1<br />
guess 0, show 2, changed to 0, result is 1<br />
guess 0, show 2, changed to 0, result is 1<br />
 *** right on 7 out of 20, 35.00% ***
</p></blockquote>
<p>所以很显然了，换了猜对的概率是2/3，不换是1/3。</p>
<p>下面是程序</p>
<blockquote class="vimblock"><p>
<span class="lnr">&nbsp;1 </span><span class="PreProc">#include </span><span class="Constant">&lt;stdio.h&gt;</span><br />
<span class="lnr">&nbsp;2 </span><span class="PreProc">#include </span><span class="Constant">&lt;time.h&gt;</span><br />
<span class="lnr">&nbsp;3 </span><span class="PreProc">#include </span><span class="Constant">&lt;stdlib.h&gt;</span><br />
<span class="lnr">&nbsp;4 </span><br />
<span class="lnr">&nbsp;5 </span><span class="Type">typedef</span>&nbsp;<span class="Type">int</span>&nbsp;changefunc(<span class="Type">int</span>, <span class="Type">int</span>);<br />
<span class="lnr">&nbsp;6 </span><br />
<span class="lnr">&nbsp;7 </span><span class="Type">int</span>&nbsp;change(<span class="Type">int</span>&nbsp;guess, <span class="Type">int</span>&nbsp;show) {<br />
<span class="lnr">&nbsp;8 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">return</span>&nbsp;<span class="Constant">0</span>+<span class="Constant">1</span>+<span class="Constant">2</span>&nbsp;- guess - show;<br />
<span class="lnr">&nbsp;9 </span>}<br />
<span class="lnr">10 </span><br />
<span class="lnr">11 </span><span class="Type">int</span>&nbsp;nochange(<span class="Type">int</span>&nbsp;guess, <span class="Type">int</span>&nbsp;show) {<br />
<span class="lnr">12 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">return</span>&nbsp;guess;<br />
<span class="lnr">13 </span>}<br />
<span class="lnr">14 </span><br />
<span class="lnr">15 </span><span class="Type">void</span>&nbsp;loop(<span class="Type">int</span>&nbsp;times, changefunc func, <span class="Type">int</span>&nbsp;print) {<br />
<span class="lnr">16 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Type">int</span>&nbsp;i, n;<br />
<span class="lnr">17 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n = <span class="Constant">0</span>;<br />
<span class="lnr">18 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">for</span>(i=<span class="Constant">0</span>;i&lt;times;i++) {<br />
<span class="lnr">19 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Type">int</span>&nbsp;target = rand() % <span class="Constant">3</span>;<br />
<span class="lnr">20 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Type">int</span>&nbsp;guess = rand() % <span class="Constant">3</span>;<br />
<span class="lnr">21 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Type">int</span>&nbsp;show, finalguess;<br />
<span class="lnr">22 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">if</span>(guess != target)<br />
<span class="lnr">23 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;show = <span class="Constant">0</span>+<span class="Constant">1</span>+<span class="Constant">2</span>&nbsp;- target - guess;<br />
<span class="lnr">24 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">else</span>&nbsp;{<br />
<span class="lnr">25 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;show = guess + rand() % <span class="Constant">2</span>&nbsp;+ <span class="Constant">1</span>;<br />
<span class="lnr">26 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">if</span>(show &gt;= <span class="Constant">3</span>) show -= <span class="Constant">3</span>;<br />
<span class="lnr">27 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<span class="lnr">28 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;finalguess = func(guess, show);<br />
<span class="lnr">29 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">if</span>(print)<br />
<span class="lnr">30 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(<span class="Constant">&quot;guess </span><span class="Special">%d</span><span class="Constant">, show </span><span class="Special">%d</span><span class="Constant">, changed to </span><span class="Special">%d</span><span class="Constant">, result is </span><span class="Special">%d</span><span class="Special">\n</span><span class="Constant">&quot;</span>, guess, show, finalguess, target);<br />
<span class="lnr">31 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">if</span>(target == finalguess) n++;<br />
<span class="lnr">32 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<span class="lnr">33 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(<span class="Constant">&quot; *** right on </span><span class="Special">%d</span><span class="Constant">&nbsp;out of </span><span class="Special">%d</span><span class="Constant">, </span><span class="Special">%.2f%%</span><span class="Constant">&nbsp;***</span><span class="Special">\n</span><span class="Constant">&quot;</span>, n, times, ((<span class="Type">double</span>)n)/times*<span class="Constant">100</span>);<br />
<span class="lnr">34 </span>}<br />
<span class="lnr">35 </span><br />
<span class="lnr">36 </span><span class="Type">int</span>&nbsp;main(<span class="Type">int</span>&nbsp;argc, <span class="Type">char</span>&nbsp;**argv) {<br />
<span class="lnr">37 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">if</span>(argc &lt;= <span class="Constant">1</span>)<br />
<span class="lnr">38 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">return</span>&nbsp;-<span class="Constant">1</span>;<br />
<span class="lnr">39 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Type">int</span>&nbsp;times = atoi(argv[<span class="Constant">1</span>]);<br />
<span class="lnr">40 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Type">int</span>&nbsp;print = (argc &gt;= <span class="Constant">3</span>);<br />
<span class="lnr">41 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;srand(time(<span class="Constant">0</span>));<br />
<span class="lnr">42 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Comment">// change</span><br />
<span class="lnr">43 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(<span class="Constant">&quot;CHANGE</span><span class="Special">\n</span><span class="Constant">&quot;</span>);<br />
<span class="lnr">44 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loop(times, change, print);<br />
<span class="lnr">45 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Comment">// no change</span><br />
<span class="lnr">46 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(<span class="Constant">&quot;NO CHANGE</span><span class="Special">\n</span><span class="Constant">&quot;</span>);<br />
<span class="lnr">47 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loop(times, nochange, print);<br />
<span class="lnr">48 </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Statement">return</span>&nbsp;<span class="Constant">0</span>;<br />
<span class="lnr">49 </span>}
</p></blockquote>
<p>要是能天天都休假还有工资拿就好了。。。</p>
		]]></description>
	</item>
	<item>
		<title><![CDATA[Lego Star Wars!]]></title>
		<link>http://fishy.buddie5.com/item/836</link>
		<guid>http://fishy.buddie5.com/item/836</guid>
		<pubDate>Sat, 30 May 2009 13:17:38 +0800</pubDate>
		<author>fishy &lt;nospam@buddie5.com&gt; </author>
		<description><![CDATA[
<p>伟大的不是一个人在战斗的大宗主，上上次回国的时候从遥远的南半球扛回来了一套Star Wars系列的Lego作为礼物，是<a href="http://www.imdb.com/title/tt0121765/"><acronym title="Star Wars: Episode 2 - Attack of the Clones">ep2</acronym></a>中<a href="http://www.starwars.com/databank/character/obiwankenobi/index.html">Obi-Wan Kenobi</a>去<a href="http://www.starwars.com/databank/location/kamino/index.html">Kamino</a>和<a href="http://www.starwars.com/databank/location/geonosis/index.html">Geonosis</a>两个星球追查事情真相时使用的单人<a href="http://www.starwars.com/databank/starship/delta7/index.html">Jedi Starfighter</a>，而且也有Obi-Wan的<a href="http://www.starwars.com/databank/droid/r4p17/index.html">R4-P17</a>，和电影中为了让单人飞船能进行超光速跳跃而加的<a href="http://www.starwars.com/databank/technology/hyperdrive/index.html">Hyperdrive</a> <a href="http://www.starwars.com/databank/technology/hyperspacering/index.html">Booster Ring</a>，当然还有Obi-Wan Kenobi，和另一个打酱油的Jedi <a href="http://www.starwars.com/databank/character/kitfisto/index.html">Kit Fisto</a>。</p>
<p>考虑到搬家的各种麻烦，大宗主送我后我一直憋着没拆。现在搬完家折腾完了，昨晚终于花了一个通宵4个小时(从1:20到5:10)给拼好了。下面是照片。</p>
<p>这个是盒子：</p>
<p><a href="http://www.flickr.com/photos/fishywang/3577905982/" title="Lego Star Wars - box by Yuxuan.fishy.Wang, on Flickr"><img src="http://farm4.static.flickr.com/3654/3577905982_cc03144a95.jpg" width="500" height="375" alt="Lego Star Wars - box" /></a></p>
<p>然后是开盒后说明书里面的零件列表：</p>
<p><a href="http://www.flickr.com/photos/fishywang/3577213688/" title="Lego Star Wars - legos list by Yuxuan.fishy.Wang, on Flickr"><img src="http://farm4.static.flickr.com/3621/3577213688_ddb1986780.jpg" width="500" height="375" alt="Lego Star Wars - legos list" /></a></p>
<p>和几大包零件：</p>
<p><a href="http://www.flickr.com/photos/fishywang/3577221408/" title="Lego Star Wars - unboxing by Yuxuan.fishy.Wang, on Flickr"><img src="http://farm4.static.flickr.com/3392/3577221408_a8cdf1d38f.jpg" width="500" height="375" alt="Lego Star Wars - unboxing" /></a></p>
<p>然后就开始拼了。先拼出来两个Jedi。不过当时没找到lightsaber的把手所以没拿lightsaber，而且需要控诉一下的是Obi-Wan同学的头、身子和腿居然分别在三个袋子里。。。</p>
<p><a href="http://www.flickr.com/photos/fishywang/3576421489/" title="Lego Star Wars - Obi-Wan Kenobi &amp; Kit Fisto by Yuxuan.fishy.Wang, on Flickr"><img src="http://farm4.static.flickr.com/3389/3576421489_42693b5e8b.jpg" width="500" height="375" alt="Lego Star Wars - Obi-Wan Kenobi &amp; Kit Fisto" /></a></p>
<p>拼啊拼啊拼，Jedi Starfighter拼好一半了。可以看到里面还是很精细的，连操纵杆都有。另外前面支出来的两个东西是可以放下来当支架的，不过我最后才知道。。。</p>
<p><a href="http://www.flickr.com/photos/fishywang/3576428525/" title="Lego Star Wars - working in progress by Yuxuan.fishy.Wang, on Flickr"><img src="http://farm4.static.flickr.com/3604/3576428525_042624312a.jpg" width="500" height="375" alt="Lego Star Wars - working in progress" /></a></p>
<p>3:50的时候Jedi Starfighter拼好了！R4-P17也在上面：</p>
<p><a href="http://www.flickr.com/photos/fishywang/3577237616/" title="Lego Star Wars - Jedi Starfighter by Yuxuan.fishy.Wang, on Flickr"><img src="http://farm4.static.flickr.com/3367/3577237616_0186b891fa.jpg" width="500" height="375" alt="Lego Star Wars - Jedi Starfighter" /></a></p>
<p>然后是那个Booster Ring，这个东西基本彻底是体力活。。。最后终于在5:10全部完成了！正面(Kit Fisto打酱油中)：</p>
<p><a href="http://www.flickr.com/photos/fishywang/3577243986/" title="Lego Star Wars - finished - front by Yuxuan.fishy.Wang, on Flickr"><img src="http://farm4.static.flickr.com/3604/3577243986_d4a189fd30.jpg" width="500" height="375" alt="Lego Star Wars - finished - front" /></a></p>
<p>背面：</p>
<p><a href="http://www.flickr.com/photos/fishywang/3576445387/" title="Lego Star Wars - finished - back by Yuxuan.fishy.Wang, on Flickr"><img src="http://farm4.static.flickr.com/3302/3576445387_f6aa4b4a9b.jpg" width="500" height="375" alt="Lego Star Wars - finished - back" /></a></p>
<p>这是剩下来的lego零件，不知道是容易丢的东西给了你一些备用的，还是说几个袋子里面装的东西都是固定的，于是为了凑够零件给了几个袋子，于是会多一些东西。另外还有两个贴纸没找到应该贴哪儿 -_-</p>
<p><a href="http://www.flickr.com/photos/fishywang/3577255956/" title="Lego Star Wars - legos left by Yuxuan.fishy.Wang, on Flickr"><img src="http://farm4.static.flickr.com/3628/3577255956_8878b17fe3.jpg" width="500" height="375" alt="Lego Star Wars - legos left" /></a></p>
<p>最后把Jedi Starfighter从Booster Ring上取下来照个全家福</p>
<p><a href="http://www.flickr.com/photos/fishywang/3577262808/" title="Lego Star Wars - all by Yuxuan.fishy.Wang, on Flickr"><img src="http://farm4.static.flickr.com/3370/3577262808_3d9b0165a0.jpg" width="500" height="375" alt="Lego Star Wars - all" /></a></p>
<p>Lego的东西确实很精细，不会出现大小上的误差导致你需要很大力气才能拼上或者根本拼不上的情况。所有零件的大小设计都恰到好处，拼起来不会太费力。所以这个东西如果有山寨还真不敢买，拼的时候都会拼吐血。</p>
<p>另外说明书上一上来就建议把零件分类，我一开始因为床上地方小怕丢就没分类，结果找得痛苦死。最后把福娃赶出房间然后分类，拼起来就轻松多了。</p>
<p>大宗主伟大！乐高伟大！</p>
<p><a href="http://www.flickr.com/photos/fishywang/sets/72157618988245562/detail/">照片在flickr上</a></p>
		]]></description>
	</item>
	<item>
		<title><![CDATA[暗恋桃花源]]></title>
		<link>http://fishy.buddie5.com/item/834</link>
		<guid>http://fishy.buddie5.com/item/834</guid>
		<pubDate>Wed, 27 May 2009 01:08:56 +0800</pubDate>
		<author>fishy &lt;nospam@buddie5.com&gt; </author>
		<description><![CDATA[
<p>去年年底(或者今年年初？)在保利演的时候我憋住了，现在看来是对的，因为他们又来北大了。</p>
<p>整个剧还是很好看的，暗恋虽然是个悲剧却也悲中带喜(其实我觉得也没那么悲剧了)；而桃花源则很喜庆，最后也喜中带悲，有些<a href="http://www.douban.com/review/2040259/">“让人绝望”</a>。黄磊和孙莉的夫妻档演的不错，年轻的黄磊带着机灵的俏皮的邪劲，而年老的黄磊也演出了沧桑感(也许是因为我想我是海的MV的经验？)。桃花源那边，何<del>囧</del>炅在“老板”和“袁老板”两个角色之间切换表现得不错(不过我觉得他的“老板”要更好一些)，田雨的老陶虽然因为我对他不熟总在想象喻恩泰说这些台词是啥效果，但是其实他演的还是很好的。</p>
<p>另外一些龙套也很出彩，比如桃花源剧组神奇的顺子，和那个异常敬业一直在后面画画的哥们。不过那个神秘女子，怎么。。。那么像。。。芙蓉 -_-</p>
<p>接下来说几个不太好的地方：一个是桃花源过于闹了一点，也许是特意表现的无厘头？但是有些地方还是会让我觉得很无聊不好笑。另一个是两个剧同时排的时候(以前看介绍还以为大段都是两个剧同时排，被骗了)，大概是因为之前暗恋走了一遍，所以暗恋这边的台词听着感觉比较自然，而同时穿插的桃花源那边的台词就给我一种刻意去凑去和暗恋呼应的感觉，不自然，不会让人觉得没有暗恋的话桃花源也还是这些台词。其实台词本身问题不大，但是节奏感(说台词的时机)凑的痕迹太明显。</p>
<p>总得来说这个剧不错，特别是在北大百年这种便宜地方，很超值。</p>
		]]></description>
	</item>
	<item>
		<title><![CDATA[十年]]></title>
		<link>http://fishy.buddie5.com/item/829</link>
		<guid>http://fishy.buddie5.com/item/829</guid>
		<pubDate>Tue, 26 May 2009 02:42:45 +0800</pubDate>
		<author>fishy &lt;nospam@buddie5.com&gt; </author>
		<description><![CDATA[
<p>其实不止十年。</p>
<p>95年左右有个足球经理游戏叫<a href="http://en.wikipedia.org/wiki/Ultimate_Soccer_Manager">USM</a>，在那个DOS和软盘的年代，这个游戏用<a href="http://en.wikipedia.org/wiki/ARJ">ARJ</a>压缩后只用一张软盘就能装下。</p>
<p>这个游戏里面只能选英国的球队。那个时候国内没有英超的转播，大家在电视上只能看到世界杯和“小世界杯”，我是说，意甲。因此我对英国的球队毫无概念，只是知道好像有个叫曼联的球队很厉害。选球队的时候我就想选曼联。但是95年嘛，那个时候英文还很差，看着“Newcastle United”好像就是传说中的曼联，那就选他了。</p>
<p>游戏里面所有的人我都不认识，一开始默认的排列是两个门将，若干个后卫，若干个中场，若干个前锋，然后我就让排在前面的11个人上去踢了。于是我的场上有个第二门将在打后卫，而中场<a href="http://en.wikipedia.org/wiki/Lee_Clark_(footballer)">Lee Clark</a>在打前锋——他还进了很多球。后来他伤了，我就从替补里面随便拉了个人上来打——这次是<a href="http://en.wikipedia.org/wiki/Darren_Huckerby">Darren Huckerby</a>，终于是个前锋了——他又进了很多球。所以说这个游戏实在是很简单。</p>
<p>回到球场上。后来慢慢的能看到一些关于英超的报道了，比如卫视中文台曾经放过一段也不知道是英超的赛季十佳球还是本周十佳球，其中有一些<a href="http://en.wikipedia.org/wiki/David_Ginola">David Ginola</a>的助攻。这是我第一次在电视上看到Newcastle的球，虽然不是直播。</p>
<p>再后来能看到的东西越来越多。买来了<a href="http://en.wikipedia.org/wiki/Alan_Shearer">Alan Shearer</a>，欧冠上凭借<a href="http://en.wikipedia.org/wiki/Tino_Asprilla">Asprilla</a>的帽子戏法<a href="http://www.soccerbase.com/results3.sd?gameid=323912">主场干掉了巴萨</a>，联赛里面<a href="http://www.soccerbase.com/results3.sd?gameid=241452">5:0大胜曼联</a>，在<a href="http://en.wikipedia.org/wiki/Kevin_Keegan"><acronym title="King Kev">KK</acronym></a>的攻势足球带领下连续两年拿第二。</p>
<p>但是97年初KK辞职，球队开始进入动荡。先是<a href="http://en.wikipedia.org/wiki/Kenny_Dalglish">Dalglish</a>，然后是<a href="http://en.wikipedia.org/wiki/Ruud_Gullit">Gullit</a>，都只给球队带来了混乱。Gullit之后，<a href="http://en.wikipedia.org/wiki/Bobby_Robson">Sir Bobby Robson</a>来了，结束了混乱。</p>
<p>据说Sir Bobby刚来就<a href="http://www.soccerbase.com/results3.sd?gameid=267075">打了场8:0</a>，不过那会儿因为之前两任教练的混乱和高中的忙碌，我已经很久没关注英超。后来我忙完竞赛搞定保送，就又可以有时间看着Sir Bobby一步步把球队带回正轨。看到托托杯上<a href="http://www.soccerbase.com/results3.sd?gameid=312216">某场比赛</a>两个当时没人听说过的小孩<a href="http://en.wikipedia.org/wiki/Lomana_LuaLua">Lomano LuaLua</a>和<a href="http://en.wikipedia.org/wiki/Shola_Ameobi">Shola Ameobi</a>互相助攻大发神威，看到欧冠上小组赛<a href="http://en.wikipedia.org/wiki/UEFA_Champions_League_2002–03#Group_E">前三场全负后三场全胜出线</a>的奇迹，看到Sir Bobby买来的小孩们逐渐成长，联赛里面稳定的排名在前四。</p>
<p>但是后来他也逐渐控制不住他买来的这些小孩的脾气，最终在04年被炒。球队又重新归于混乱。09年5月16日联赛倒数第二轮主场对Fulham的保级关键比赛，他又出现在了<a href="http://en.wikipedia.org/wiki/St_James%27_Park">St. James' Park</a>的看台上。托房奴的福当时我在他家看的天盛直播，镜头打到看台上的他的时候，解说苏东说“这场比赛也牵动了纽卡斯尔的老球迷的心”。不怪苏东没认出来他，要不是前几天官网上正好有关于他组织的义赛的新闻配了张他和<a href="http://en.wikipedia.org/wiki/Paul_Gascoigne">Gazza</a>的<a href="http://www.nufc.premiumtv.co.uk/javaImages/f2/c3/0,,10278~5882866,00.jpg">合</a><a href="http://selif.yhsif.com/SirBobby.jpg">影</a>，我也认不出来。这是一个与癌症搏斗了十多年的76岁高龄的苍老的老人。</p>
<p>但是这支球队还是让他失望了。</p>
<p>也许那场比赛还能怪裁判吹掉了一个进球，而有了那个进球我们貌似就保级了。但是看看整个赛季的表现，没有人会觉得降级是个天大的冤情。整个赛季38场只赢了7场，并列倒数第一。整个赛季38场拿了8张红牌，排名第一。整个赛季一共有4个人曾坐在主教练的位置上，在英超也是排第一。这么混乱的一个队降级了，又能怪得了谁呢？<a href="http://en.wikipedia.org/wiki/Joey_Barton">Joey Barton</a>评价代理主帅Shearer是&quot;a shit manager with shit tactics&quot;，我觉得他说得很对。Shearer上任后确实振奋了士气，但是球赛不是靠气势就能赢下来的。最后一场对<a href="http://en.wikipedia.org/wiki/Aston_Villa_F.C.">Aston Villa</a>的生死战，下半场急需一个进球来保级的时候，结果一脚门框内的射门都没有，门框外的射门也少得可怜，我是怎么也看不出来这是个需要进球要拼命的球队。赛季最后的几场看到了无数视野开阔机会很好的远射机会也从来没看到他们尝试过。任命Shearer来当临时主帅率队保级，彻彻底底的就是<a href="http://en.wikipedia.org/wiki/Mike_Ashley_(businessman)">死胖子</a>死马当作活马医做的秀。</p>
<p>追随一只球队十年，却看着球队从顶峰一步步走下来最终走到降级，我的人品真的是无敌啊。</p>
<p>老老实实反省然后重建吧，死胖子，不然会被St James' Park里面的口水淹死的。</p>
		]]></description>
	</item>
</channel>
</rss>

