A.African Sort
B.Binary Vector
C.Combination of Physics and Maths
D.Data structure
E.Easy Construction
F.Fibonacci Partition
G.Grid Coloring
H.Harmony Pairs
const int mod=1e9+7;
char s[102];
int dp[102][1801][2][2];
ll dfs(int n,int sum,int t,bool lim){
if (!n)return sum>900;
if (~dp[n][sum][t][lim])return dp[n][sum][t][lim];
int up=lim?s[n]-'0':9;
ll ans=0;
for (int i=0;i<=up;i++){//B
for (int j=0;j<=9;j++){//A
if (t&&j>i)continue;
(ans+=dfs(n-1,sum+j-i,t&&(i==j),lim&&(i==up)))%=mod;
}
}
return dp[n][sum][t][lim]=ans;
}
int main(){
memset(dp,-1,sizeof dp);
scanf("%s",s+1);
int len=strlen(s+1);
reverse(s+1,s+1+len);
printf("%d\n",dfs(len,900,1,1));
return 0;
}
I.Interesting Stiriling
K.K-Bag