原题: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。感觉就是因为进制转化导致效率低下。。。
先把代码贴上,参考下大牛的代码再来做优化。
经过优化之后的第二个版本:任然是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 |
继续改进,根据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 |