zoukankan      html  css  js  c++  java
  • JZOJ 3532. 【NOIP2013提高组day1】转圈游戏

    题目

     

    Description

    n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏。按照顺时针方向给 n 个位置编号,从0 到 n-1。最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 1 号位置,……,依此类推。

    游戏规则如下:每一轮第 0 号位置上的小伙伴顺时针走到第 m 号位置,第 1 号位置小伙伴走到第 m+1 号位置,……,依此类推,第n − m号位置上的小伙伴走到第 0 号位置,第n-m+1 号位置上的小伙伴走到第 1 号位置,……,第 n-1 号位置上的小伙伴顺时针走到第m-1 号位置。

    现在,一共进行了 10^k 轮,请问 x 号小伙伴最后走到了第几号位置。

     

     

     

    Input

    输入共 1 行,包含 4 个整数 n、m、k、x,每两个整数之间用一个空格隔开。

    Output

    输出共 1 行,包含 1 个整数,表示 10^k 轮后 x 号小伙伴所在的位置编号。

     

     

     

    Sample Input

    10 3 4 5

    Sample Output

    5

     

     

     

    Data Constraint

    对于 30%的数据,0 < k < 7; 

    对于 80%的数据,0 < k < 10^7; 

    对于 100%的数据,1 < n < 1,000,000,0 < m < n,1 <= x <=n,0 < k < 10^9。

     

     

    分析

        显然答案为(x+m*10^k)%n 快速幂

     

    代码

     

     1 #include <iostream>
     2 #include <cmath>
     3 #include <algorithm>
     4 #include <cstdio>
     5 #define maxp 1505
     6 #define maxf 205 
     7 
     8 using namespace std;
     9 
    10 long long n,m,s,t,ans,k,x;
    11 int map[maxp][maxp],dis[maxp][maxp];
    12 int into[maxf],outo[maxf],a[maxf],b[maxf];
    13 
    14 long long ksm(long long a,long long b)
    15 {
    16    long long x=a,ans=1;
    17    while (b)
    18    {
    19            if (b&1!=0) ans*=x;
    20            ans%=n;
    21            x*=x;
    22            x%=n;
    23            b>>=1;
    24    }
    25    return ans%n;
    26 }
    27 int main()
    28 {
    29     scanf("%d%d%d%d",&n,&m,&k,&x);
    30 //    for (int i=1;i<=n;i++)
    31 //    {
    32 //        scanf("%d%d",&a[i],&b[i]);
    33 //    }
    34     cout<<(m*ksm(10,k)+x)%n;
    35 36 37 38 39 40 41 42 43     
    44     45       46          47            
    48     
    49 }  

     

     

     

    为何要逼自己长大,去闯不该闯的荒唐
  • 相关阅读:
    ubuntu 安装qt5 qtcreator
    ubuntu 更换源
    ubuntu go grpc protobuf 环境的搭建
    xgboost学习
    python 日志打印
    pycharm指定到自己安装的python解释器
    pip安装换成国内的镜像源
    mac蓝牙连接bose耳麦后,只有左声道有声音
    vim粘贴python代码乱码解决办法
    docker某个服务一直起不来的原因
  • 原文地址:https://www.cnblogs.com/zjzjzj/p/10698893.html
Copyright © 2011-2022 走看看