poj1753 Flip Game

原题:http://acm.pku.edu.cn/JudgeOnline/problem?id=1753

第一个AC版本。效率极低:

Run ID User Problem Result Memory Time Language Code Length Submit Time
4821173 zen_chou 1753 Accepted 552K 782MS C 3385B 2009-03-20 22:23:45

     用的是BFS,枚举一共2^16种情况。

     用1表示黑子,0表示白子的话每一种情况都可以生成一个id,比如id=1000 0000 0000 0000代表最左上角是黑子,其余15位都是白字的情况。然后将此id转化为十进制表示同样可以生成一个惟一的id。感觉就是因为进制转化导致效率低下。。。

     先把代码贴上,参考下大牛的代码再来做优化。

Code

 

经过优化之后的第二个版本:任然是BFS,相比较第一个程序而言,删去了繁琐的二进制和十进制的转换,取而代之的是位运算。因此效率得到了很大的提高,但是相比较与POJ上的其他AC版本还不够。

Run ID User Problem Result Memory Time Language Code Length Submit Time
4844178 zen_chou 1753 Accepted 512K 157MS C 1976B 2009-03-24 19:08:10

 

Code

 

 继续改进,根据poj2965的经验,将链表队列用循环队列代替,效率大大提高!

 

Run ID User Problem Result Memory Time Language Code Length Submit Time
4856678 zen_chou 1753 Accepted 472K 32MS C 1886B 2009-03-26 17:43:26

 

Code

 

posted @ 2009-03-26 17:50  MyShowTime  阅读(365)  评论(0编辑  收藏  举报