1353 大神的游戏

1353 大神的游戏

时间限制: 1 s

空间限制: 128000 KB

题目等级 : 黄金 Gold

题解

题目描述 Description

在那遥远的机房,有一片神奇的格子。为了方便起见,我们编号为1~n。传说只要放入一些卡片,就能实现愿望。卡片一共有m种颜色,但是相邻的格子间不能放入相同颜色的卡片。只要不重复的摆出所有组合,就能召唤出神汉堡 @解决掉你 大神,为你实现梦想。从古书中翻出这个记载的shc同学,便日以夜继的摆起了他的卡片。现在他想知道一共有多少种不同的组合不合法,以便算出愿望实现的那天。但我们的shc同学正忙着摆卡片,这个任务自然就交给你了。

输入描述 Input Description

输入两个整数M,N.

1<=M<=10^8,1<=N<=10^12

输出描述 Output Description

组合的数目,模10086取余

样例输入 Sample Input

2 3

样例输出 Sample Output

6

数据范围及提示 Data Size & Hint

6种状态为(000)(001)(011)(100)(110)(111)

60%的数据n<=100 0000

神汉堡可是著名萌妹, 不黑她 xD

分类标签 Tags 点此展开

数论

//答案:(m^n-m*(m-1)^(n-1))%10086
#include<cstdio>
#include<iostream>
using namespace std;
#define mod 10086
long long m,n,p1,p2,ans;
long long f[1001];
/*long long quick_pow(long long x,long long n){
    if(n==0) return 1;
    else{
        while(!(n&1)){
            n>>=1;
            x*=x;
        }
    }
    long long result=x;
    n>>=1;
    while(n){
        x*=x;
        if((n&1)){
            result*=x;
        }
        n>>=1;
    }
    return result;
}*/
long long quick_pow(long long b,long long a){//注意:本快速幂里面要取余
     if(!a) return 1;//采用二分思想
     if(a&1) return(quick_pow(b,a-1)%mod*b)%mod;//奇数
     long long t=quick_pow(b,a/2)%mod;//偶数
     return (t*t)%mod;
}
int main(){
    cin>>m>>n;
    p1=quick_pow(m%mod,n)%mod;//注意幂不能取余,因为没有这个公式
    p2=quick_pow((m-1)%mod,(n-1))*m%mod;
    ans=(p1-p2+mod*10)%mod;
    cout<<ans<<endl;
    return 0;
}
时间: 2024-10-29 19:06:20

1353 大神的游戏的相关文章

大神的游戏(codevs 1353)

题目描述 Description 在那遥远的机房,有一片神奇的格子.为了方便起见,我们编号为1~n.传说只要放入一些卡片,就能实现愿望.卡片一共有m种颜色,但是相邻的格子间不能放入相同颜色的卡片.只要不重复的摆出所有组合,就能召唤出神汉堡 @解决掉你 大神,为你实现梦想.从古书中翻出这个记载的shc同学,便日以夜继的摆起了他的卡片.现在他想知道一共有多少种不同的组合不合法,以便算出愿望实现的那天.但我们的shc同学正忙着摆卡片,这个任务自然就交给你了. 输入描述 Input Descriptio

大学里如何成为技术大神

本文由PurpleSword(jzj1993)原创,转载请注明.原文网址 http://blog.csdn.net/jzj1993 总是有同学问我怎么学很多技术,好奇如何成为所谓的大神. 事实上,这篇文章是结合我的一些经历,讲述应该怎么学习技术,并不是要讲怎么成为大神.没有所谓的成功学,只有充满智慧的思考,脚踏实地的实干,和越来越近的理想,还有机遇和运气.之所以用这个标题,无非是吸引更多人.尤其是很多对成为大神抱有不切实际的幻想的人来看.希望读者能从中得到一些东西,没有浪费看这篇文的时间.这篇文

无法运行的贪吃蛇游戏代码,求大神帮忙修改!

#include <iostream> #include <windows.h> #include <stdlib.h> #include <conio.h> #include <time.h> //使用当前时间做种子 enum dir {up,down,left,right}; //枚举类型enum dir //围墙 class Fence { public: void initFence(); void OutputF(); public:

对战游戏自己简单版+大神版

自己简单版: namespace ConsoleApplication25 { class Program { struct player { public string name; public int hp,atk,def; public wugong wg; } struct wugong { public string name; public int gongji; } static void Main(string[] args) { Console.Write("请输入玩家P1名字

我眼中的大神精神(之前所写,一直没有完成,以后慢慢完成)

吸收了鄙人以前的教训,在我读了一些书之后,发现好的经典的教材都有些共性:它们首先让读者对这本书的内容有完整的了解,先用最浅显的语言去讲解,去比喻哪怕被人前期诟病不专业,也要把整体框架完整而明了的呈现给读者,即使读者不明白其中细节,但是只要看完这些,读者就可以和别人骄傲的说他理解这方面的原理.然后再在每一章分别去细致专业而严谨的讲解,然后每一章之后都会有经典的练习题和思考题给读者.从这些经典教材的写作思路也就不难从中提炼出一种学习的方法. 八.学习原理 九.最正确的学习方式  没有所谓的最正确的学

没有一颗“攀比”的心,就永远无法成为别人眼中的大神

今天和几个研究生朋友吃饭时聊到一个攀比的话题,也许是每个人的价值观的不同引起了不小的争论,在回来的路上自己想了很多过去的事情. 上小学的时候,由于家里比较穷,自己都是用铅笔或者圆珠笔去写作业,因为这样可以为入不敷出的家里节省一点开支.大概在三年级的时候,同学小A的父母给他买了一支非常精美的钢笔,同学们都非常羡慕,整天都围着他转,而自己更是没见过这样的笔,而且几十块钱对于每年连学费都交不起的我,简直是想都不敢想的,可是年少不懂事的我,却不顾家里的经济状况却要缠着母亲买,起初母亲很为难,考虑到家里的

[悟]你所憧憬的大神本质

这是一个最好的时代,也是一个最坏的时代:这是明智的时代,这是愚昧的时代:这是信任的纪元,这是怀疑的纪元:这是光明的季节,这是黑暗的季节:这是希望的春日,这是失望的冬日:我们面前应有尽有,我们面前一无所有:我们都将直上天堂,我们都将直下地狱...狄更斯 原谅我一直不写技术贴,老是B叨叨的来写水贴,但是对于Android我实在是没什么好写的了,我不做framework,不做游戏,就app层那么点东西,实在是没必要拿粗来翻来覆去的说,网上能搜到的一大把,你们每次问粗来的奇葩问题我都是google粗来再

对话机器学习大神Yoshua Bengio(下)

对话机器学习大神Yoshua Bengio(下) Yoshua Bengio教授(个人主页)是机器学习大神之一,尤其是在深度学习这个领域.他连同Geoff Hinton老先生以及 Yann LeCun(燕乐存)教授,缔造了2006年开始的深度学习复兴.他的研究工作主要聚焦在高级机器学习方面,致力于用其解决人工智能问题.他是仅存的几个仍然全身心投入在学术界的深度学习教授之一,好多其他教授早已投身于工业界,加入了谷歌或Facebook公司. 作为机器学习社区的活跃者,Yoshua Bengio教授在

每一个程序员都应该知道的高并发处理技巧、创业公司如何解决高并发问题、互联网高并发问题解决思路、caoz大神多年经验总结分享

本文来源于caoz梦呓公众号高并发专辑,以图形化.松耦合的方式,对互联网高并发问题做了详细解读与分析,"技术在短期内被高估,而在长期中又被低估",而不同的场景和人员成本又导致了巨头的方案可能并不适合创业公司,那么如何保证高并发问题不成为创业路上的拦路虎,是每一个全栈工程师.资深系统工程师.有理想的程序员必备的技能,希望本文助您寻找属于自己的"成金之路",发亮发光. 目录: 场景及解决方法解读 认识负载 数据跟踪 脑图.caoz大神公众号分享 参考资料 秉承知其然及其