zoukankan      html  css  js  c++  java
  • 牛客小白月赛1 C-分元宵(快速幂)

    链接:https://www.nowcoder.com/acm/contest/85/C
    来源:牛客网

    题目描述

    毕竟是元宵节,晚上还是要吃几个元宵。 Etéreo 家可是个大家庭,元宵的数量,甚至是餐具的数量,都多的惊人。现在,爱数学的 Etéreo 又来问你有趣的数学题了,快来秒掉它!   Etéreo 家里有  种元宵馅,  种元宵皮,每个元宵可以选择任意一种元宵馅和任意一种元宵皮。同时有  张桌子,每张桌子上放了  只碗,每只碗能放一只元宵。每只碗都要装一只元宵。Etéreo 会告诉你  的值,想请问你有多少种装元宵的方式。答案对  取模。 
    两种方式被认为是不同的当且仅当至少有一只碗存在于两种方式的同一个位置但是里面有至少一个元宵不同。 
    两个元宵被认为是不同的当且仅当元宵馅不同或者元宵皮不同。 
    碗和桌子都是有编号的,但是你不能改变碗或桌子的编号。 
    你可以认为碗和桌子都是固定的,你只能改变元宵的种类和位置。

    输入描述:

    输入共一行,五个整数 
     ,意义同题目描述。

    输出描述:

    每行一个整数,表示答案。
    示例1

    输入

    1 2 1 3 998244353

    输出

    8

    备注:

    
    
    
    
    
     
     
    分析:快速幂。刚开始写的是递归的快速幂,结果爆栈了,
    改成不是递归的就好了。。。QAQ
     
    #include<cstdio>
    long long mod;
    long long Pow(long long a,long long b)  
    {  
        long long res=1; 
        while(b>0)  
        {
            if(b&1)  
                res=res*a%mod;  
            b=b>>1; 
            a=a*a%mod; 
        }  
        return res;  
    }  
    int main()
    {
        long long a,b,c,d;
        scanf("%lld%lld%lld%lld%lld",&a,&b,&c,&d,&mod);
        a%=mod;b%=mod;
        a=a*b%mod;
        printf("%lld
    ",Pow(a,c*d));
        return 0;
    }
    View Code
     
     
  • 相关阅读:
    托管和使用WCF服务:WAS(Windows激活服务)
    突发的灵感
    C# 常见图像处理效果
    C# WinForm TreeView 递归选择父节点和子节点
    C# WinForm ComboBox 枚举 选定值
    C# Socket 异步 UDP
    C# WinForm 判断窗体控件是否修改过
    C# 线程同步 信号量 Semaphore
    C# WinForm ComboBox Items 选定值
    C# WinForm ComboBox 自定义数据项 (ComboBoxItem )
  • 原文地址:https://www.cnblogs.com/ACRykl/p/8593139.html
Copyright © 2011-2022 走看看