luogu cogs 1437. [NOIP2013]转圈游戏

★   输入文件:CircleNOIP2013.in   输出文件:CircleNOIP2013.out   简单对比

时间限制:1 s   内存限制:128 MB

【题目描述】

 

 

【输入格式】

输入文件名改为:CircleNOIP2013.in

【输出格式】

输出文件名改为:CircleNOIP2013.out

 

【来源】

CCF全国信息学奥林匹克联赛 (NOIP2013)复赛Day1

#include<iostream>
#include<cstdio>
#include<algorithm>
#define ll long long

using namespace std;//n,m,k,x;(x+10^k*m)%n  (x+    (10^k*m)%n      )%n
                                               //(10^k%n*m%n)%n
ll n,m,k,x;

inline ll read()
{
    int x=0;char c=getchar();
    while(c<'0'||c>'9')c=getchar();
    while(c>='0'&&c<='9')x=x*10+c-'0',c=getchar();
    return x;
}

inline int fastpow(int xx,int p,int mod)
{
    ll now=1;
    while(p)
    {
        if(p&1)
            now=now*xx%mod;
        xx=xx*xx%mod;
        p>>=1;
    }
    return now;
}

int main()
{   
    freopen("CircleNOIP2013.in","r",stdin);
    freopen("CircleNOIP2013.out","w",stdout);     
     
    n=read(),m=read(),k=read(),x=read();
    ll kk=fastpow(10,k,n)%n;
    printf("%lld",(x%n+kk*m%n)%n);
    
    return 0;
}

 

posted @ 2017-07-11 10:10  ioioioioioio  阅读(164)  评论(0编辑  收藏  举报