POJ 1465

这个题是一道很好的题目
给一个数N 然后给M个一位数 问你是否有N的倍数 完全由这些一位数组成

先说算法 用BFS不停的扩展 就是X10这样的扩展 然后如果对N取余的余数没有出现过就把这个扩展得数的余数添加到队列里 如果余数是0的话就可以输出了
当然 扩展的时候要考虑到0
这些都不是最关键的 最关键的是这个数可能非常大 long long 不够 而高精的话比较麻烦 参考了alpc12大牛的程序 用链表 而且每次只存一个char 输出的时候递归

还有一点 这个队列最多只有5000就够了 开始的RE并不是数组开小的问题 不能继续扩展的时候就会结束的

另外 不需要证明所有的余数都取到了 没有必要


posted on 2008-08-14 17:33 Victordu 阅读(731) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

常用链接

留言簿(5)

随笔档案(46)

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜