Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:此题不能恶搞,对剪枝要求较高In Reply To:此题不能恶搞,对剪枝要求较高 Posted by:keeng2008 at 2008-04-18 00:00:33 我的方法是 把5位素数找出来,按照首个字母分别存在1-9的槽里。 并且开一个int hash[],把这些所有素数,和素数的前缀设成true。 比如有一个数11351,那么hash[1] hash[11] hash[113] hash[1135] hash[11351]都是true。 然后根据输入枚举第一行的数。 在第一行的数确定的前提下,通过dfs依次枚举第一列,第二列,第三列,第四列,第五列。。。 在枚举列的过程中,得到的对应行的中间结果,正好是这一行的最终结果的前缀。所以可以用上面提到的hash来剪枝。同理主对角线也是先得到的前缀,可以用hash剪枝。 也是230ms过的-_- Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator