摘要: 比较恶心的一道题,主要在数位DP那里调试了好久。 题目大意:0~9可以用对应的BCD码表示,给出A~B之间的十进制数,将他们化成BCD码的形式。但有些01串是不能出现的,求能化成BCD码的数的个数。 先建图,然后将二进制转十进制,比如next[p][7]=next[p][0]->[1]->[1]->[1],如果后面这条路能走出来next[p][7]就存在,否则为-1。之后数位DP,求能走出的比X的小的数有多少种,这里要注意细节,很容易写错。求出后DP(B)-DP(A)就行了。 1 #include <stdio.h> 2 #include <string.h 阅读全文
posted @ 2012-08-13 23:32 Burn_E 阅读(282) 评论(1) 推荐(0)