1. 程式人生 > >hdu2089 不要62 (數位dp)

hdu2089 不要62 (數位dp)

Problem Description 杭州人稱那些傻乎乎粘嗒嗒的人為62(音:laoer)。
杭州交通管理局經常會擴充一些的士車牌照,新近出來一個好訊息,以後上牌照,不再含有不吉利的數字了,這樣一來,就可以消除個別的士司機和乘客的心理障礙,更安全地服務大眾。
不吉利的數字為所有含有4或62的號碼。例如:
62315 73418 88914
都屬於不吉利號碼。但是,61152雖然含有6和2,但不是62連號,所以不屬於不吉利數字之列。
你的任務是,對於每次給出的一個牌照區間號,推斷出交管局今次又要實際上給多少輛新的士車上牌照了。

Input 輸入的都是整數對n、m(0<n≤m<1000000),如果遇到都是0的整數對,則輸入結束。

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

Sample Input 1 100 0 0
Sample Output 80

第一段程式碼沒有用dp,IDE也可以很快出答案,但是線上測評是超時的

#include<stdio.h>
int main()
{	
	long n,m;	 
	while( scanf("%ld %ld",&n,&m)&&n!=0&&m!=0) 
	{	
		long count=0;
		for(long i=n;i<=m;i++)
		{	 	
		 	long t=i; 	
		 	int b=1; 	
		 	for(int j=0;j<6;j++)
		 	{	 		
		 		if(t%10==4||t%100==62)
		 		{
		 			b=0;
		 			break;	 			 
				}
				t=t/10;	
			}		 
			if(b==1)
			count++;		   
	 	}	
		printf("%ld\n",count);
	}	
	return 0;
 } 


相關推薦

hdu2089不要62(數位dp)

消息 推斷 位置 text can bsp 號碼 con tput 不要62 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissi

HDU2089 不要62 數位DP

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

hdu2089 不要62 (數位dp)

Problem Description 杭州人稱那些傻乎乎粘嗒嗒的人為62(音:laoer)。 杭州交通管理局經常會擴充一些的士車牌照,新近出來一個好訊息,以後上牌照,不再含有不吉利的數字了,這樣一來

hdu2089 不要62 數位dp模板

題意:數字中包含62或者4的數是壞數字,現在要你求[n,m]中有多少個好數字。 題意:數位dp,套模板(寫這篇主要是粘個板子)。 程式碼: #include<bits/stdc++.h>

hdu2089 不要62 數位DP模板題

算是學習數位dp的入門題。。。 具體看程式碼中註釋#include <cstdio> #include <string> #include <cstring> #include <iostream> #include <

hdu2089——不要62(數位DP入門)

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

Hdu2089不要62(數位DP)

退出 -m math 數組 down clas code size amp Description 題目大意:給定區間[n,m],求在n到m中沒有“62“或“4“的數的個數。 如62315包含62,88914包含4,這兩個數都是不合法的。 0<n<=m<1

hdu2089不要62 數位dp

傳送門:嘿原題在這 註釋寫的很詳細啦 #include<iostream> #include<cstdio> #include<cstring> using

hdu 2089 不要62 數位DP入門

dfs += ret memset tro int 入門 space spa 題目鏈接: http://acm.hdu.edu.cn/showproblem.php?pid=2089 題意: 統計區間 [a,b] 中不含 4 和 62 的數字有多少個。 思路: 學習了數位d

hdu 2089 不要62 數位dp入門

stream 然而 != 1的個數 tdi 記憶化 代碼 pan += 題意:求一個範圍內的數字,約束條件為不含有數字4以及62 typedef long long ll; int a[20]; ll dp[20][state];//不同題目狀態不同 ll d

HDU 2089 不要62(數位DP)

不要62 #include<iostream> #include<cstdio> #include<cstring> #include<string> using namespace std; typedef long long ll; int a

HDU 2089 不要62(數位dp&記憶化搜尋)

題意 杭州人稱那些傻乎乎粘嗒嗒的人為62(音:laoer)。 杭州交通管理局經常會擴充一些的士車牌照,新近出來一個好訊息,以後上牌照,不再含有不吉利的數字了,這樣一來,就可以消除個別

HDU 2089 不要62 (數位DP)

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

不要62(數位dp普通寫法和模板寫法)

多組資料,每次給定區間[n,m],求在n到m中沒有“62“或“4“的數的個數。 如62315包含62,88914包含4,這兩個數都是不合法的。0<n<=m<1000000 假設我們現在把x分成了a1,a2,...,aL這樣一個數組,長度為L,aL是最

HDU2089 ------不要62數位dp

判斷 tom name pop iostream blank 位置 play show 不要62 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others

數位dphdu2089 不要62

clu scanf spa print algo std can dfs fin 好吧,雖然是道水題但是是第一次接觸數位dp所以還是要記錄一下。 其實就是因為如果按數的大小枚舉的話很不方便所以就按數位枚舉並進行記憶化。 #include<iostream> #

HDU2089 不要62數位DP

傳送門 【題目分析】 和windy數一題類似,不過限制條件改為了連續的62和4,列舉當前位填的數字的時候判斷一下即可。 【程式碼~】 #include<bits/stdc++.h> using namespace std; typedef long long LL; co

數位DP入門 —— hdu2089 不要62

數位DP是一種用來計數的DP, 如果給你一道題, 讓你去統計區間[l, r]之間滿足某種條件的數字個數, 在沒接觸數位之前很容易想到的就是暴力判斷。但當資料範圍較大時這種方法就不可行了, 這時候我們就可能要用的差分的思想確定一個遞推關係, 來更方便更高效的求解, 這就是數位D

HDU2089——不要62數位dp入門)

不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 35612    Accepted Submiss