HDU打怪公升級之不要62 2089

2021-09-11 19:43:00 字數 1343 閱讀 3475

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

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

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

62315 73418 88914

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

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

整數對n、m,(0

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

1 100

0 0該問題是乙個數字dp的題,假設dp[i][j]表示i位數,第一位是j的數字中符合要求的有多少。則根據要求可以得到

當 j=4時, dp[i][j] = 0

當 j!=4時,   dp[i][j] = sum( dp[i-1][k], k=0~9 && (j!=6||k!=2) )

於是先根據上式初始化dp陣列,其中dp[0,0]=1。

dp[0][0] = 1;

for(int i=1; i<7; i++)

for(int j=0; j<=9; j++)

for(int k=0; k<=9; k++)

if(j!=4 && !(j==6&&k==2))

dp[i][j] += dp[i-1][k];

接著根據dp陣列來求得對於乙個數n,0~n滿足要求的數。假設數n為l位數,第i位的數字為number[i],則首先求首位數字小於number[1]的l位數,則滿足該情況的數字總數由dp[l][j] (j=0~number[1]-1)組成;當首位數字確定為number[1]後,則需要求第二位數字小於number[2]的l-1位數,則滿足該情況的數字總數由dp[l-1][j] (j=0~number[2]-1)組成;之後位的數字總數和上述同理,則全部加起來就可以求得,所有小於n且滿足要求的數。

for(int i=len; i>=1; i--) 

for(int j=0; j但由於檢索當中會碰到數字中含有62,4的情況,如果此時確定的數字**現這兩種情況,則不必求下去。

1.如果某一位數字為4,即number[i]==4,則不需要往下繼續求,因為某一位數字確定為4後,後面所求情況都會包含4進去。所以此時停止。

for(int i=len; i>=1; i--)

number[len+1] = 0;

for(int i=len; i>=1; i--)

return 0;

}

HDU打怪公升級之 紅色病毒 問題 2065

醫學界發現的新病毒因其蔓延速度和internet上傳播的 紅色病毒 不相上下,被稱為 紅色病毒 經研究發現,該病毒及其變種的dna的一條單鏈中,胞嘧啶,腺嘧啶均是成對出現的。現在有一長度為n的字串,滿足一下條件 1 字串僅由a,b,c,d四個字母組成 2 a出現偶數次 也可以不出現 3 c出現偶數次...

HDU打怪公升級之RPG的錯排 2068

今年暑假杭電acm集訓隊第一次組成女生隊,其中有一隊叫rpg,但做為集訓隊成員之一的野駱駝竟然不知道rpg三個人具體是誰誰。rpg給他機會讓他猜猜,第一次猜 r是公主,p是草兒,g是月野兔 第二次猜 r是草兒,p是月野兔,g是公主 第三次猜 r是草兒,p是公主,g是月野兔 可憐的野駱駝第六次終於把r...

HDU打怪公升級之無限的路 2073

甜甜從小就喜歡畫圖畫,最近他買了一支智慧型畫筆,由於剛剛接觸,所以甜甜只會用它來畫直線,於是他就在平面直角座標系中畫出如下的圖形 甜甜的好朋友蜜蜜發現上面的圖還是有點規則的,於是他問甜甜 在你畫的圖中,我給你兩個點,請你算一算連線兩點的折線長度 即沿折線走的路線長度 吧。第乙個數是正整數n 100 ...