小a有一個n位的數字,但是它忘了各個位上的數是什么,現在請你來確定各個位上的數字,滿足以下條件:
設第i位的數為ai,其中a1為最高位,an為最低位,K為給定的數字
- 不含前導0

請你求出滿足條件的方案數
輸入描述:
兩個整數N, K
若存在無解的情況,請輸出0
輸出描述:
一個整數表示答案,對109 + 7取模
示例1
輸入
2 3
輸出
6
說明
滿足條件的數有:14, 25, 36, 47, 58, 69
示例2
輸入
2 -3
輸出
7
說明
滿足條件的數有:41, 52, 63, 74, 85, 96, 30
示例3
輸入
4 3
輸出
600
說明
可能的方案有:1234, 1334
示例4
輸入
4 -3
輸出
700
備注:
對于30%的資料:n, |k| = 5
對于60%的資料:n, |k| ≤ 1000
對于100%的資料:n, |k| ≤ 1013
保證n > 1
#include<stdio.h>
long long n,k,ans,a,p=1e9+7;
int main()
{
scanf("%lld%lld",&n,&k);
for(int i=1;i<=9;i++)
if (0<=i+k&&i+k<=9) ans++;
a=10,n-=2;
while (n)
{
if (n&1) ans=ans*a%p;
a=a*a%p;
n>>=1;
}
printf("%lld\n",ans);
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/265476.html
標籤:其他
