思路:數位dp , dp[i][j]表示位數為i且首位數為j的數 符合條件的個數。
代碼:
#include #include #include #include #include #include #include #include #include #include #include #include #define N 500010 #define INF 10000000 #define LL long long #define eps 10E-9 #define mem(a) memset(a,0,sizeof(a)) #define w(a) while(a) #define s(a) scanf(%d,&a) #define ss(a,b) scanf(%d%d,&a,&b) #define sss(a,b,c) scanf(%d%d%d,&a,&b,&c) #define MAXN 9999 #define MAXSIZE 10 #define DLEN 4 #define MAXN 9999 #define MAXSIZE 10 const int mod=1e9+9; using namespace std; int dp[7][10]; void init(){//初始化打表 mem(dp); dp[0][0]=1; for(int i=1; i<7; i++){ for(int j=0; j<10; j++){ for(int k=0; k<10; k++){ if(j!=4&&!(j==6&&k==2)) dp[i][j] += dp[i-1][k]; } } } } int solve(int n){//返回滿足條件且小於n的數的個數 int digit[10]; int len = 0, ans = 0; while(n){ digit[++len]=n%10; n/=10; } digit[len+1]=0;//safety for(int i=len; i; i--){//逐位計算 for(int j=0; j if(j!=4&&!(j==2&&digit[i+1]==6)) ans += dp[i][j]; } if(digit[i]==4||(digit[i]==2&&digit[i+1]==6)) break; } return ans; } int main() { int s,e; init(); w(~ss(s,e)&&(s|e)){ cout< } return 0; }
函數名: strdup; 功能: 將串拷貝到新
Blend 元素用指定的模式混合兩個 Item 。在我們使用
引言毫無疑問,我們都看到過像 TCHAR, s
字符串查找是信息安全、信息過濾領域的重要操作,
在1994年,我主要關心的是如何使ISO C+
1.1 float的疑問寫一行很簡單的C代碼: