Thursday, June 2, 2011

FaceBull

Do you like puzzles? So do we.

If you love puzzles like we do, become a fan of the new Puzzle Master Facebook Page. Notes are regularly posted to answer questions, explain puzzles, and announce new things. While you're here, try your hand at the following puzzles. The larger the difficulty, the harder it gets (hors d'oeuvres are simple tests to help you out).

FaceBull

Facebook's Chemical Industry Applications lab has been researching new ways to provide chemical stimulants to keep its engineers productive and awake. Research has isolated a series of chemical compounds when present together in sugar water, are the active ingredients of the next iteration of super-energy drink.

These chemical compounds are similar, any one compound can be used in a chemical reaction to create any other compound. Although the actual chemical reaction is negligibly cheap to cause, it requires specific expensive machinery (and catalysts) for each reaction. Machinery is specifically tailored to take one compound, and convert it into a different compound. Each machine has a purchase cost, a starting compound, and the final compound it produces. Facebook's lab must acquire enough machinery to ensure it can create all the necessary compounds no matter what compounds are available on the market.

Write a program that takes a single argument on the command line. This argument must be a file name, which contains the input data. The program should output to standard out the cheapest way Facebook can produce its drink from any source compound or compounds (see below for output details). All chemicals mentioned in the machine catalog are assumed to be necessary for production of the drink. The catalog does not guarantee that any particular one-step reaction is possible, but it is guaranteed to have a way to transform any given compound into any other. Your submission and code solution must follow the input and output specifications below or it will be disqualified. Your program will be tested against several machine catalogs, each with different data. Additionally, your program must be fast, and give a correct answer within a matter of minutes.


Input specifications

The input file will contain a catalogue of available machinery. Each line of the file represents a particular machine model. The format of each line is:
      
Machine names start with the character 'M' (without the quotes) and then a non-zero padded integer. Examples of machine names are 'M1', 'M2', 'M13', etc.

Compound names start with the character 'C' (without the quotes) and then a non-zero padded integer. Examples of compound names are 'C4', 'C6', 'C24', etc.

Prices are simply non-zero padded integers with no commas or periods or unit designations (assume all prices are in USD). Examples of prices are '987334', '13948295', etc.

Each field in the input file is white space separated using spaces or tab characters. There may or may not be additional white space after the last line of entries. You are guaranteed your program will run against input files that are well formed.

Example input file:
M1      C1      C2      277317
M2 C2 C1 26247
M3 C1 C3 478726
M4 C3 C1 930382
M5 C2 C3 370287
M6 C3 C2 112344



Output specifications

Your output must be exactly the following. Your program must first output the sum price of all the machines to be purchased (do not insert commas, periods, or any units) as a simple integer, followed by a new line.

Your program should then output the numbers of the machines purchased in ascending order, but omitting the 'M' designations. Each machine number must be separated by a single space character. There should be no additional space character after the last machine. Instead, the program should output a new line after the last machine number.

Example output (there should be a newline at the end of each line):
617317
2 3 6

Tuesday, May 10, 2011

[ZT] Out of North Korea 朝鲜之行

发信人: missdior (missdior), 信区: Travel
标 题: Out of North Korea 朝鲜之行
发信站: 北邮人论坛 (Tue May 10 10:45:08 2011), 站内

Out of North Korea
下了飞机,走出机场,闻到天朝自由的气息,阳光灿烂,风起杨絮。
整整三天的北朝鲜之行告一段落,这个国家给我留下的图像可能会像怀旧老照片一样时不时的闪烁那么一两帧,清晰而悠远。
临行之前,大家关心最多的就是:你为什么去朝鲜呀?!最多的叮嘱就是,一定要注意安全啊!
首先解答第一个问题——“神秘”,北朝鲜对我来说是个神秘的国家,我想看看在开放前,计划经济下的国家是什么样?我们父辈们又曾经经历了怎么样一个时代? 也许三天时间看到的只是皮毛,但也权当是满足自己幼稚的好奇心。

其次,安全是一个出门远行首要问题。朝鲜,正因为它的神秘,所以给人一种不安全感,不确定感。在朝鲜,全程由导游带领集体活动,没有机会单独行动。这对习 惯了自由的80后,确实是个考验。

北京到平壤只要一小时的飞行,登机前,听一在海关工作的姐们儿说,朝鲜的飞机都是用来从中国进口可口可乐和橙汁,看来我们只是沾了这些进口商品的光才有幸 登上了去朝的飞机。航班JS222,木有看清机型,飞机上赫然写着AIR KORYA(还好不是猜测的苏联老飞机图154),机舱里比我们想象的要舒适得多。终于一睹神秘的从不下飞机的朝鲜空姐的容貌,很含蓄的美,想起了徐志摩 老先生的”最是那一低头的温柔“。飞机起飞后,开始不老实了,左右摇晃上下颠簸,不知是驾驶员的技艺不湛还是飞机太老了的缘故,整架飞机好像行驶在高低不 平的山路上,唯恐一下子飞机散架,我一路上紧紧盯着救生衣,脑海想象怎么穿衣怎么带氧气罩,从哪个门逃生。伴随强烈的机身共振,慢慢揭开朝鲜神秘的面纱。

飞机飞越鸭绿江,降落在朝鲜的群山围绕的平地上,这片土地,流淌了多少中华儿女的热血。没有滑行道,更别提指示灯,飞机在山路上滑翔了足有二十分钟。机场 是一座很矮的平房,上面写着“平壤”二字,怎么看都是一国内简陋的小站,横扫一眼,整个机场加起来也就大小四五驾飞机。下飞机、入境、取行李,就在小小的 一间房子里完成,这麻雀虽小,五脏俱全。手机全部留在海关,不准带到朝鲜境内,出境时才允许拿回来。俺毫不犹豫的扔下手机,感觉一身轻松。

登机的时候,碰到了几个朝鲜人,各个穿西装,打领带,胸前戴着金日成主席的像章,来到朝鲜才发现,大部分的朝鲜人都会佩戴金主席的像章,以示对主席的纪 念。上了旅游大巴,见到了我们的两位朝鲜导游,一位是温柔大方的美女导游小徐,主要是由她来讲解,而另一位是穿西服带像章晒的黝黑的金明同志,我们背地里 叫他二导游。二导游总坐在车的最后,可以查看到我们所有人的行踪,他还经常拿出个小本子,不知道在记录什么东西,还频繁的洁婷电话,业务相当繁忙,显然他 是被派来”看着“我们的。小徐的中文说的很好,她在平壤外国语大学读了四年中文,国家安排工作到旅行社。相比之下,二导游金明同志的中文就逊色一些,据我 后期调研,他中学毕业当了八年兵才读的外国语大学,怪不得晒的跟牛肉似的。

我们住处是羊角岛饭店,因为坐落在羊角岛上得名。这是平壤的特级酒店,共47层高,为了便于管理,基本上所有的外国旅客都被安排到这个远离市中心的饭店。 房间内部的设备也就相当于国内的三四星级,不过对于在朝鲜的我们来说,这已经是至高的外宾待遇了。晚上站在二十多层的高楼上往外看,远处没有灯光,黑压压 的一片。和一姐们在好奇心的趋使下,商量着出去瞧一瞧,我俩沿着黑漆漆的路,依靠着暗淡的路灯,慢慢前行,没走几步,对面就有一穿西装朝鲜大叔走过来,问 我们是哪个旅行社,哪个导游,还说前面危险不要我俩走远,看来想走远是没辙了,到处都是眼睛盯着,我俩只好老老实实的回到酒店。慢慢长夜怎么过呢,于是我 俩缩小范围,决定explore这酒店。先去bookshop买了基本金日成主席主体思想的小册子,再去一层赌场,结果只有几台老虎机静静的躺在那,遂乘 观光电梯直升47层,想去旋转餐厅小资一下。这个旋转餐厅和北京的中央电视塔上的很像,只不过窗外一篇漆黑,连颗星星都木有,我俩四目对视对酌从新加坡进 口的”橙汁“。晚上回到房间,好不容易调到了一个朝鲜台,正在放着歌颂祖国山河的卡拉ok,想必是歌颂祖国大好河山,那个销魂呀。过一会儿,出现朝鲜女主 播铿锵有力,掷地有声的播音,估计是赞扬在劳动党的伟大领袖下国家取得了多么大的成就,人民终于不用饿肚子了。

旅程中参观景点主要分两个地方:其一是在平壤市区内彰显朝鲜雄伟的人文景点,金日成铜像、万景台、金日成广场、国际友谊礼品馆、以及中朝友谊的中朝英雄纪 念碑等;其二是开城的著名的南北朝鲜三八分界线、高丽博物馆。

第一天主要参观了平壤市区的景点,感受了金日成主席在朝鲜人民心中的崇高的地位。大街上到处可见金日成的头像,在他们胸前,也时刻佩戴着有金日成主席头像 的胸章。朝鲜人只称金日成为主席,而称金正日为同志。金日成铜像的广场每天都会有平壤市民自愿过来打扫,以示对主席的敬仰。 我想,这是信仰的力量吧,IN KIM SONG RI WE TRUST.平壤的地铁深达100M,乘坐地铁从地面直达地下,地铁站里面修建的相当漂亮,高大华丽的彩灯悬空而挂,颇有俄罗斯的建筑风格。虽然只有四节 列车,但足以容纳7万的平壤市民。在平壤的正值五一劳动节,工人们都放假了,参观的时候碰见很多平壤市民聚集在山坡上开”party“,烧烤、喝啤酒,唱 歌、跳舞,欢乐的不行。


第二天参观了南北朝鲜近在咫尺却要遥相隔望的”三八界“,这是一个全球性的政治军事敏感地带,所以戒备也相当严格。从开城驶向三八界,共经过了四重哨所, 有士兵放哨,两旁有铁丝网,游客不允许随意拍照。我们的大巴经过第三个哨所时,突然停下,二导游金明同志先被叫下车,过了一会神情凝重的走上来,拿了一位 旅客的相机就下去,要把刚才的照片删掉,原来那位同学出于无意识顺手拍了张士兵的照片,而这种地方是不允许拍照。两位导游都下去了,过了十来二十分钟低着 头从屋子里出来,估计刚才在屋子里接收了组织的严厉批评,也许为此还记了大过。这告诉我们,在这个国家要听话!
三八界限由10cm高的水泥板砌成,线的北侧是北朝鲜的士兵,南侧是南朝鲜士兵,他们讲着同样的母语,写着同样的文字,却从不开口交谈,偶尔会交火。士兵 们一般在屋子里面,如果有游客参观会出来站岗,这是南北两边的中国游客互相挥手打招呼。据说这条线发生很多故事,曾有一俄罗斯女大学生因为好奇,伸出一只 脚跨过水泥界限,南朝鲜马上向北边开火,导致交战。看来这一根不起眼的界限却是威力无穷大,所谓外交无小事!

朝鲜的最后一站是平壤少年宫,孩子们上午在学校读书,下午就去少年宫选修自己感兴趣的科目,舞蹈、唱歌、乐器演奏等,怪不得朝鲜是个能歌善舞的民族。
朝鲜有三大免费政策:免医疗,免学费,免住房。朝鲜的孩子十一年的义务教育,一年学前教育,四年小学,六年中学,中学毕业可以继续读大学深造、或服兵役或 者工作。大学按照成绩录取,朝鲜男人都要服兵役,四年或者八年,完了皮肤就变成牛肉的颜色。工作由国家分配,毕业找工作对他们来说天方夜谭。导游还指着市 区漂亮的房子说,前段时间国家为奖励文艺工作者,给他们赠送的市中心的三室一厅房子。伤不起,伤不起呀!朝鲜没有计划生育,国家鼓励生育,生8个以上还能 获得”英雄妈妈“称号,不过普通家庭都2-3个娃娃。

朝鲜人结婚新娘穿不穿婚纱,穿朝鲜传统服装,新郎穿西服。国内结婚吃喜糖,朝鲜人吃“冷面”,意味着长长久久不分离。朝鲜女孩择偶有三大标准:党员+军 人+大学生,金明同志很有优势呀!

朝鲜的饮食特点酸冷辣为主,三天旅程中,用餐之前饭桌上基本已经摆好了饭菜,乍一看,碟子倒是不少,仔细一看分量还真不多。有辣白菜、煎豆腐、煎海鱼、炸 土豆等,对于我们这些吃惯了热菜的胃来说实在不太适应呀,导致最后一天好多团友都闹肚子了,我还是坚忍的挺下来。朝鲜是一个农业国家,他们的饭菜都是纯天 然,团里一位前辈吃到了没有瘦肉精的猪肉,激动万分,感慨很久没有吃这么香的猪肉了!朝鲜比较少吃牛肉,因为老牛都去耕田了,偶尔在田地里看到一两头牛, 还都瘦不拉几的。

三天之行,是不可能全面的了解一个国家。我看到的是很多很多朝鲜人民正在勤奋工作,努力创造他们更好的未来。不知道未来会是什么样子,但有着信仰,吃苦耐 劳的民族就是有希望的民族!

以上纯属个人看法,如有偏颇,望指正!

Monday, March 21, 2011

一篇奇怪的Paper和hough voting的想法

THE HOUGH TRANSFORM’S IMPLICIT BAYESIAN FOUNDATION, Neil Toronto, Bryan S. Morse, Dan Ventura, Kevin Seppi.

这篇paper本身很简单,主要是讲一个定理的证明,也即文中的Theorem 3.3:

For all types of parameterizeable shapes, and for all voting distributions
vd(s, xi, yi), there exists a probability distribution P(xi, yi|s)
and a constant c such that, in the feasible domain of s, H(s) =
c + log P(s|x1, y1, ..., xk, yk).

这里s代表一个hypothesis space,(xi, yi)是所有observations中的某一个观测点,等式左边是Hough Votes,右边是一个log sum。乍看起来定理说的头头是道,但是很关键的一点是,定理中隐含了一个假设,如下:

P(xi, yi|s) = (1 / beta)* exp(vd(s, xi, yi))

作者没有说这样假设的合理性;如果可以这么假设的话,上边那个定理就根本不用证明了,因为那个定理很显然和这个假设说的是同一件事情。也就是说,这个“定理”完全是循环论证的结果。

当然,如果这个假设是正确的,或者说这个定理是正确的,那么很多基于ISM (implicit shape model) 的方法应该就是完全错误的,尽管或许实验结果是好的;比如那篇max-margin hough transform的paper (CVPR09)

然而如果这个假设不正确,那hough votes到底该怎么理解呢?或者可以直接说,hough votes基于一个没有很强的probabilistic解释的assumption:P(M | X) = \sum P(M | x_i),M 是模型参数,也即假设空间,X是所有observation的集合。或许hough methods就是基于这样的一个对后验的近似估计?

CVPR10有一篇文章 "On detection of Multiple Object Instances Using Hough Transform",其作者也试图用probabilistic的方法解释hough methods,但是呢,我觉得里边用到的assumptions可能太多太强了,看起来不是特别reasonable;不过也是一个很好的尝试吧 :)

Thursday, February 3, 2011

我们可以改变计划,去做些别的[zz BYR]

亲爱的你:
不知道我的只言片语、东拉西扯真正能为你的生活带来什么。
但是我还想写下,与素不相识的你的悄悄话。既然打开了它,就请耐心看完,因为这里满载着我的真诚、热情还有最虔诚的愿望。
希望我们都能有所期待地活着,
希望我们都能获得幸福。


请允许我不知所云地从朱诺说起吧。
在Juno原声碟里面听到一首叫做《loose lips》的歌,根据我浅浅的翻译,有一段歌词是这样的:“如果你想烧伤自己,记住我爱你
如果你想割伤自己,记住我爱你
如果你想自杀,记住我爱你。
在你死之前给我打个电话,我们可以改变计划,去做些别的。
给我发个电子邮件,我就会成为你的朋友。”
《Juno》的电影原声碟到现在为止还是我最喜欢的一张CD。呵呵,之所以强调“到现在为止”是因为,人生中无论好的坏的,它的变数谁知道呢?在我人生的 剩下几十年,可能还会遇见更美好的旋律的。话说Juno这个小女孩天不怕地不怕,有种天生的洒脱。很好奇地想象着扮演她的艾莲.佩奇在现实中是个什么样的 人。(呵呵此刻在放假期间无所事事的我,因为好奇心太旺盛,就连发呆都变得很有趣了。)对于朱诺来说,无论生活到了一个多尴尬的境地,就算是挺着个未婚先 孕的大肚子,她还是要穿着她的旧风衣,双手插兜,潇洒地走着。

试着拽拽地在街上走一次吧~别在乎别人的眼光。尝试一下目空一切,你可以的,一定很好玩的,相信我。


你喜欢音乐吗?
我是个五音不全的人~从小就喜欢唱唱跳跳,也是一直被爸爸笑我跑掉~但是又能怎么样呢?唱歌跳舞是我愉快情绪的表达,好不好听,无关紧要的。音乐是作曲家 给人类的礼物,几个音符,变奏出无数美妙的旋律。我自认为还是个比较内向和循规蹈矩的人。拿着扩音器和舍友一起大声地唱神曲《爱情买卖》的那次经历,给了 我从未有过的放肆的感觉。

去操场上,大声地唱首歌,或者骂几句脏话~嘻嘻……偶尔发疯,其实挺快乐的。


你的嗅觉灵敏吗?
不知道你是不是有留心你不停呼、吸的空气一共有几种不同的味道。在满满都是人的自习室,忍受着热腾腾地混合着大家的体味的空气,接水或是上厕所时,走出 去,那个瞬间清新的世界你还记得吗?夏天的时候,伴随着校园里的割草机一阵噪杂声传来的,还有那属于泥土和青草的味道。美好得,我都怀疑我上辈子是不是牛 马羊,竟这么喜欢这个青草香味。

去慢慢剥开一颗橙子吧,那么清香的气味,会让你忍不住微笑的。


你喜欢吃东西吗?
我是个不折不扣的馋猫,一大爱好就是吃妈妈炖的鱼。周杰伦有一首歌里面有唱:“爷爷泡的茶,有种味道叫做家”。还能回忆起来家里饭菜的味道吗?虽然没有什 么玉盘珍馐,但是绝对是最珍贵的。仔细想想,在这个世界上我们没办法选择的东西其实并不多,我能想到的不过只有家庭、头脑而已。恰恰这些都是我们的父母赋 予我们的。那天和妈妈杀鱼的时候,突然特别感慨,我们能作为万物之灵——人 这种生物来世间走一遭,真是太太幸运了。生存还是死亡,我们听自己的。我很感激。就算我没有富庶的家庭、显赫的背景,我没有聪明的头脑,又能怎么样呢?外 在的没落,没办法夺走我作为人的,最本真的幸福和喜悦。你知道吗?就连呆呆的阿甘,也拥有了自己的幸福。既然我们无法改变的部分并不是那么不好,其他的部 分,事在人为,努力就好呀~

去给你最爱的亲人或朋友做一点吃的吧~就算只是一碗热气腾腾的泡面~呵呵


你喜欢读书吗?
我一点都不喜欢看课本,但是我喜欢读书,读其他的书,(*^__^*) 嘻嘻……我最近在看的一本书叫做《项塔兰》,它的作者的人生轨迹从劫匪到囚犯,从越狱到全球通缉,从逃命孟买到再次犯罪入狱,最后又成为了畅销书作家。我 并不赞同他这种亡命徒似的生活轨迹,但是在心底却悄悄地佩服他,多么不可思议的人生旅途啊。我们的生活也许是被动地变得很跌宕、很曲折,但是这并不妨碍它 变得精彩。感谢苦难,它使我们成为了一个有故事可说的人。

去选一本图书馆或者书店里面你看着使你最愉快,或者你的手下意识碰到的第一本书,珍惜这一点点的缘分,耐心读完它吧~


你小的时候淘气吗?
我小的时候很淘气,总是摔倒受伤,膝盖摔得很疼的时候我就会屏住呼吸,忍过那一阵最痛的过程,可是每次过后都回忆不出到底当时有多痛。其实我们觉得最痛的 那段时间,忍过去了,也不会在我们的生命中留下难以抹平的伤口。也许我们不会忘掉,但是随着时间的推移和我们本身渐渐变得更成熟,那些我们曾经认为痛彻心 扉的事情,回忆起来,是带着笑的。

去和妈妈、爸爸或爷爷、奶奶,聊聊近况,一起回忆一下你小时候的故事吧~看看小小的你做过多少你自己不知道的傻事~无论我们觉得现在的自己多么不堪,在爱 你的人眼里,你还是那个有点淘气,有点傻气的小孩子。


上中学时候的我是个心事重重的人。敬重的老师和我说过这样一句:我希望无论到什么时候,你能成为那种因为一个苹果就可以开心地笑的人。
我们的心其实远比我们想象中坚强,它是能承载快乐和苦难的柔软的床。如果它累了,就让它放空、休息一下,但是请别伤害自己,因为有天你的心脏还会因为某个 瞬间或者某个人,愉快而剧烈地跳动的。
我们一直在努力往前走,要把一切风景都看过。别错过,一定别错过,属于你的,未来的,那些快乐的时刻。
爱自己,爱生活,是我们一生都要用心去做的功课。

Friday, January 21, 2011

[ZZ]printf是一个神奇的函数

第一优先准则是计算++
这是C++的++体现的地方(开玩笑的^_^),有++的地方先执行
第二优先准则是程序译码原理:
译码是由右往左译的,貌似所有编译器都是那样
printf("%d\n%d\n%d\n%d\n",*p, *p++, *p++, *p);
优先执行++,然后从右开始,所以第一句执行的是第三位置的*p++
优先执行++,所以第二句执行的是第二位置的*p++
类似了后面
另外也就是因为++优先级是奇高,所以*p++ = *(p++)
这就不用我说了吧,和printf就没关系

--------------------------

可变形参的实现是通过堆栈来完成的,函数在堆栈里去拿数据,不过根据了不同的机器做了一些偏移

贴一下libc里面printf的实现

int
printf(const char *format, ...)
{
va_list ap;
int retval;

va_start(ap, format);
retval = _doprnt(format, ap, stdout);

va_end(ap);

return retval;
}

typedef char * va_list;
#define _INTSIZEOF(n) \ //n 为 char *
((sizeof(n)+sizeof(int)-1)&~(sizeof(int) - 1) ) //这个值为4 (32bit机器)
#define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF(v) ) //偏移4bytes
#define va_end(ap) ( ap = (va_list)0 )

*p++在有些编译器实现的时候很可能额外开栈,从而导致最后一个参数(实际上第一个传递)和看到的不同,实际上完成的是两个动作:

q=*p; p=p+1;

因此编译器拿数据取值的时候就不一致了,可变形参的这种问题不同编译器处理是不一样的。

Tuesday, December 28, 2010

Arduino LED Sensing

/*
@Kun Duan
Simple LED sensing
Two LED required:
ledPin connects the output LED
analogPin connects the input LED as a light sensor
Note that the input LED MUST have its +/- legs inversed
*/

int ledPin = 13; // LED '13 pin as output
int analogPin = 0;
int value = LOW;
int val = 0;
long previousMillis = 0;
long interval = 120;

void setup()
{
pinMode(ledPin, OUTPUT); // set pin mode as OUTPUT
Serial.begin(9600); // set baud rate as 9600 bps
}

void loop()
{
if (millis() - previousMillis > interval) // run program every "interval" msec
{
previousMillis = millis();
val = analogRead(analogPin); // read analog input
if(val < 10) // set output led value as HIGH
value = HIGH;
else
{
value = LOW;
}
digitalWrite(ledPin, value); // write value to led pin
Serial.print("DETECT:"); // send back analog input through serial port Serial.println(val);
}
}


%%%%%%%%%%%%%%%%%%%%%
Below is a demo video
%%%%%%%%%%%%%%%%%%%%%

Friday, November 26, 2010

FIFA Announces 55-Man Shortlist For 2010 World XI

Fifty-five players shortlisted for FIFA/FIFPro World XI 2010
(FIFA.com) Thursday 25 November 2010
Getty ImagesThe worldwide players’ union FIFPro and FIFA today announced
the 55 players shortlisted for the FIFA/FIPro World XI 2010 (see full list
below), which is to be revealed at the FIFA Ballon d’Or gala in Zurich on
10 January 2011.

The 50,000 professional footballers belonging to the players’ unions across
the world that form FIFPro received voting forms in a secret ballot to
nominate their peers for inclusion in their World XI – choosing the best
four defenders, three midfielders, three forwards and goalkeeper of 2010.

World champions Spain lead the way with the most players in the shortlist
with ten, followed by nine from Brazil, eight from Argentina, six from
England, four from Germany, three each from the Netherlands and Italy, two
from Portugal and one each from Uruguay, Wales, France, Bulgaria, Serbia,
the Czech Republic, Sweden, Ghana, the Ivory Coast and Cameroon.

Spain’s Primera Division attracted the most nominees with 18, followed by
England’s Premier League with 17 and Italy’s Serie A with 15. Four
nominees came from Germany’s Bundesliga and one from France’s Ligue 1.

The final FIFA/FIFPro World XI will be announced at the FIFA Ballon d’Or
gala in the Zurich Kongresshaus on 10 January 2011. During this televised
gala, the winner of the FIFA Ballon d’Or for the best player of 2010 and
the FIFA Women’s World Player of the Year 2010 award will also be revealed.
Meanwhile, the FIFA World Coach of the Year for Men’s Football award and
the FIFA World Coach of the Year for Women’s Football award will be
presented for the first time, while the FIFA Puskas Award for the best goal
of the year will be announced for the second year running. The FIFA
Presidential Award and the FIFA Fair Play Award will also be presented
during the gala.

The 55-player shortlist in full:

Goalkeepers: Gianluigi Buffon (Italy, Juventus FC), Iker Casillas (Spain,
Real Madrid C.F.), Petr Cech (Czech Republic, Chelsea FC), Julio Cesar
(Brazil, F.C. Internazionale), Edwin van der Sar (Netherlands, Manchester
United FC)

Defenders: Daniel Alves (Brazil, FC Barcelona), Gareth Bale (Wales,
Tottenham Hotspur), Michel Bastos (Brazil, Olympique Lyonnais), Ashley Cole
(England, Chelsea FC), Patrice Evra (France, Manchester United FC), Rio
Ferdinand (England, Manchester United FC), Philipp Lahm (Germany, FC Bayern
Munchen), Lucio (Brazil, F.C. Internazionale), Maicon (Brazil, F.C.
Internazionale), Marcelo (Brazil, Real Madrid C.F.), Alessandro Nesta
(Italy, AC Milan), Pepe (Portugal, Real Madrid C.F.), Gerard Pique (Spain,
FC Barcelona), Carles Puyol (Spain, FC Barcelona), Sergio Ramos (Spain, Real
Madrid C.F.), Walter Samuel (Argentina, F.C. Internazionale), John Terry
(England, Chelsea FC), Thiago Silva (Brazil, AC Milan), Nemanja Vidic
(Serbia, Manchester United FC), Javier Zanetti (Argentina, F.C.
Internazionale)

Midfielders: Esteban Cambiasso (Argentina, F.C. Internazionale), Michael
Essien (Ghana, Chelsea FC), Cesc Fabregas (Spain, Arsenal FC), Steven
Gerrard (England, Liverpool FC), Andres Iniesta (Spain, FC Barcelona),
Ricardo Kaka (Brazil, Real Madrid C.F.), Frank Lampard (England, Chelsea
FC), Javier Mascherano (Argentina, FC Barcelona), Thomas Muller (Germany, FC
Bayern Munchen), Mesut Ozil (Germany, Real Madrid C.F.), Andrea Pirlo
(Italy, AC Milan), Bastian Schweinsteiger (Germany, FC Bayern Munchen),
Wesley Sneijder (Netherlands, F.C. Internazionale), Xabi Alonso (Spain, Real
Madrid C.F.), Xavi (Spain, FC Barcelona)

Forwards: Dimitar Berbatov (Bulgaria, Manchester United FC), Didier Drogba
(Ivory Coast, Chelsea FC), Samuel Eto’o (Cameroon, F.C. Internazionale),
Diego Forlán (Uruguay, Atletico Madrid), Gonzalo Higuain (Argentina, Real
Madrid C.F.), Zlatan Ibrahimovic (Sweden, AC Milan), Lionel Messi
(Argentina, FC Barcelona), Diego Milito (Argentina, F.C. Internazionale),
Arjen Robben (Netherlands, FC Bayern München), Ronaldinho (Brazil, AC
Milan), Cristiano Ronaldo (Portugal, Real Madrid C.F.), Wayne Rooney
(England, Manchester United FC), Carlos Tevez (Argentina, Manchester City
FC), Fernando Torres (Spain, Liverpool FC), David Villa (Spain, FC Barcelona)