不要62(數字DP)

2021-09-20 03:10:37 字數 1132 閱讀 9110

杭州人稱那些傻乎乎粘嗒嗒的人為62(音:laoer)。

杭州交通管理局經常會擴充一些的士車牌照,新近出來乙個好訊息,以後上牌照,不再含有不吉利的數字了,這樣一來,就可以消除個別的士司機和乘客的心理障礙,更安全地服務大眾。

不吉利的數字為所有含有4或62的號碼。例如:

62315 73418 88914

都屬於不吉利號碼。但是,61152雖然含有6和2,但不是62連號,所以不屬於不吉利數字之列。

你的任務是,對於每次給出的乙個牌照區間號,推斷出交管局今次又要實際上給多少輛新的士車上牌照了。

input

輸入的都是整數對n、m(0output

對於每個整數對,輸出乙個不含有不吉利數字的統計個數,該數值佔一行位置。

sample input

1 100

0 0

sample output

80
#includeusing namespace std;

int a[10005];

#define n 30

int dp[10][2][2];

int dfs2(int pos,int six,int limit)//pos為判斷到第幾位,six為是否為6的標誌,limit表示當這位數已經是最大數的話,那麼後面一位的數也會有所限制

int up;//up為下一位數字的上限

if(limit)//如果有限制,那麼up為下一位的數字

else

int ret=0;

for(int i=0;i<=up;i++)//對下一位的各個數字進行判斷

if(six==1&&i==2)//如果滿足上一位為6這位為2的情況那麼就不滿足條件

ret+=dfs2(pos-1,0,limit&&i==up);//否則那麼就往下一位dp

}if(!limit) dp[pos][six][limit]=ret;//這裡要判斷一下若不能限制則直接存起來

return ret;

}int solve(int n)

return dfs2(len-1,0,1);

}int main()

return 0;

}

DP 數字 DP 不要62

水一篇題解。掌握了數字 dp 的套路之後,10分鐘就可敲出這道題目。題目 不要62 做法 動態規劃 狀態表示 f i j f i j f i j 表示 i ii 位數,最高位是 j jj 的合法數字個數。預處理 只要不含4並且相鄰兩位不是6 2即可累加 狀態轉移步驟 1 不選最大可填數時 累加 2 ...

不要62(數字DP)

description 杭州人稱那些傻乎乎粘嗒嗒的人為62 音 laoer 杭州交通管理局經常會擴充一些的士車牌照,新近出來乙個好訊息,以後上牌照,不再含有不吉利的數字了,這樣一來,就可以消除個別的士司機和乘客的心理障礙,更安全地服務大眾。不吉利的數字為所有含有4或62的號碼。例如 62315 73...

不要62 (數字dp)

杭州人稱那些傻乎乎粘嗒嗒的人為62 音 laoer 杭州交通管理局經常會擴充一些的士車牌照,新近出來乙個好訊息,以後上牌照,不再含有不吉利的數字了,這樣一來,就可以消除個別的士司機和乘客的心理障礙,更安全地服務大眾。不吉利的數字為所有含有4或62的號碼。例如 62315 73418 88914 都屬...