UVAL 7327

来源:互联网 发布:老虎伊甸园 知乎 编辑:程序博客网 时间:2024/06/05 02:07
#include<stdio.h>#include<string.h>#include<math.h>#define MOD (1000000000+7)char a[300005];int ans=0;long long fast_mod(int n){    if(n==0)return 1;    else if(n%2==0)    {        long long a=fast_mod(n/2);        return(a*a)%MOD;    }    else        return 2*fast_mod(n-1)%MOD;}int main(){    //freopen("t.txt","r",stdin);    int n,m;    while(scanf("%d%d",&n,&m)!=EOF)    {        scanf("%s",&a);        int i=0;        long long ans=0;        long long q=0;        bool flag=0;        for(i=0;i<n;i++)        {            q=((a[i]-'0')+(q*10))%m;            if(q==0)            {                ans++;            }            if(i==n-1&&q!=0)                flag=1;                        }        if(flag==1)printf("0\n");        //if(ans==0)printf("%lld\n",ans);        else        {            long long ans1=fast_mod(ans-1);            printf("%lld\n",ans1);        }        memset(a,0,sizeof(a));    }}

0 0
原创粉丝点击