uestc 1307 windy数 --- 数位DP

2014-11-24 08:19:04 · 作者: · 浏览: 0

到底是什么oj啊 根本交不了啊

谁帮我交下这题?


#include 
  
   
#include 
   
     #include 
    
      #include 
     
       #include 
      
        #include 
       
         #include 
        
          #include 
         
           #include 
           #define inf 0x3f3f3f3f using namespace std; int dp[15][15]; int solve(int n) { int l=0,num[15],ans=0,i,j; while(n) { l++; num[l]=n%10; n/=10; } for(i=1;i
           
            0;i--) { for(j=0;j
            
             =2) ans+=dp[i][j]; } } return ans; } int main() { int i,j,k,a,b; memset(dp,0,sizeof dp); for(i=0;i<10;i++) dp[1][i]=1; for(i=2;i<=10;i++) for(j=0;j<10;j++) { for(k=0;k<10;k++) { if(abs(j-k)>=2) dp[i][j]+=dp[i-1][k]; } } while(~scanf("%d%d",&a,&b)) { printf("%d\n",solve(b+1)-solve(a)); } return 0; }