杭州人稱那些傻乎乎粘嗒嗒的人為62(音:laoer)。
杭州交通管理局經常會擴充一些的士車牌照,新近出來乙個好訊息,以後上牌照,不再含有不吉利的數字了,這樣一來,就可以消除個別的士司機和乘客的心理障礙,更安全地服務大眾。
不吉利的數字為所有含有4或62的號碼。例如:
62315 73418 88914
都屬於不吉利號碼。但是,61152雖然含有6和2,但不是62連號,所以不屬於不吉利數字之列。
你的任務是,對於每次給出的乙個牌照區間號,推斷出交管局今次又要實際上給多少輛新的士車上牌照了。
input
輸入的都是整數對n、m(01 100
0 0sample output
80題目連線
參考題解
這個題目以前都是暴力做,現在練習數字dp,做一下筆記。
題目要求乙個區間內數字不含62和4的數的個數。
這裡我們定義乙個二維dp陣列就夠了,dp[i][j]表示以 j 開頭的長度為 i 位的符合條件的數字的個數。比如dp[2][6]就是指,以6開頭的,長度為2的所有符合條件的數字的個數。即[60,69]這10個數字裡面符合條件(不含62,4的數字)的個數。
#include
#include
#include
#include
using
namespace std;
const
int max =10;
//dp[i][j]表示的是以j開頭的i位數的符合條件的個數
int dp[max]
[max]
, digit[max]
;void
init()
}}return;}
intcallen
(int x)
//求乙個數字有幾位
return len;
}void
caldigit
(int num,
int len)
}int
solve
(int n)
//求0到n中符合條件的個數
return ans;
}int
main()
HDU2089 不要62 數字DP
problem description 杭州人稱那些傻乎乎粘嗒嗒的人為62 音 laoer 杭州交通管理局經常會擴充一些的士車牌照,新近出來乙個好訊息,以後上牌照,不再含有不吉利的數字了,這樣一來,就可以消除個別的士司機和乘客的心理障礙,更安全地服務大眾。不吉利的數字為所有含有4或62的號碼。例如 ...
Hdu2089 不要62 數字dp
include includeint dp 10 3 dp i 0 為位數小於等於i且不含62也不含4的數字的個數 dp i 1 為位數為i且首位為2且不含62也不含4的數字的個數 dp i 2 為位數小於等於i且含62或4的數字的個數 int digit 10 void er int wei in...
hdu 2089 不要62 (數字dp)
思路 用變數記錄吉利數,和最高位為2的吉利數還有不是吉利數的個數。code include include includeusing namespace std int dp 10 3 dp i j i表示位數,j表示狀態 dp i 0 表示不存在不吉利數字 dp i 1 表示不存在不吉利數字,且最...