Hrbust 1535 相爱
Description
静竹在斐波那契的帮助下,渐渐的和数学相爱了。和数学在一起最有意思的就是它能够出一些特别有意思并且巧妙的题目让静竹来思考。这次也不例外,给静竹两个数a,b,又给出了加,减,乘,除,乘方五种操作六种算式(a + b, a – b, a * b, a / b, a ^ b, b ^ a)让静竹从中挑一种操作使得a,b处理后数值变得最大。静竹思考了一番发现,这个结果可能会特别大怎么办呢?为了解决这个问题,数学又给出了一个数m,让最终结果对其求余就可以让结果变小了。
Input
每行输入三个整数a, b, m(0 <=a, b <=100000000, 0< m <1000)
处理到文件结束
Output
对于每行的输入,输出一个整数代表结果最终的结果
Sample Input
2 3 5
3 2 5
Sample Output
4
4
题解:
1、不难发现,这个题有很多小细节,而且各种小细节一定都是a,b非常小的情况下才有,通过手写模拟不难发现,当a,b足够大的时候(其实10就算足够大了).五种运算中,一定是幂所带来的收益最大,而且也不难发现,这种情况下,一定是min(a,b)^max(a,b)是最大的值,所以我们如果a,b足够大的时候,直接输出min(a,b)^max(a,b)%mod即可。
2、那么各种小细节如何处理呢?因为a,b足够小,所以直接暴力维护最大值最后取模即可啊!
3、注意b==0的时候不能进行除法。
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
#define LL long long
LL a,b,m;
LL work(LL a,LL b)
{
LL num=;
while(b>)
{
if (b%==) num=num*a;
a=a*a;
b=b/;
}
return num;
}
LL work2(LL a,LL b)
{
LL num=;
while(b>)
{
if (b%==) num=num*a%m;
a=a*a%m;
b=b/;
}
return num%m;
}
int main()
{
while(~scanf("%lld%lld%lld",&a,&b,&m))
{
LL ans=;
ans=max(a+b,a*b);
if (a>b) swap(a,b);
if (b<=)
ans=max(max(ans,work(a,b)),work(b,a));
else ans=work2(a,b); printf("%lld\n",ans%m);
}
return ;
}
Hrbust 1535 相爱的更多相关文章
- Codevs 1535 封锁阳光大学
1535 封锁阳光大学 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题目描述 Description 曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大 ...
- 动态规划(背包问题):HRBUST 1377 金明的预算方案
金明的预算方案 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行 ...
- hdu 1535 Invitation Cards
http://acm.hdu.edu.cn/showproblem.php?pid=1535 这道题两遍spfa,第一遍sfpa之后,重新建图,所有的边逆向建边,再一次spfa就可以了. #inclu ...
- HDU 1535 Invitation Cards (POJ 1511)
两次SPFA. 求 来 和 回 的最短路之和. 用Dijkstra+邻接矩阵确实好写+方便交换.可是这个有1000000个点.矩阵开不了. d1[]为 1~N 的最短路. 将全部边的 邻点 交换. d ...
- [ An Ac a Day ^_^ ] hrbust 2291 Help C5 分形
开博客这么久从来没写过自己学校oj的题解 今天写一篇吧 嘿嘿 原题链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProble ...
- hrbust 2384 相同的不相同的字符串
Description 研究证明,汉的字阅读序顺是不会影响你明白这句话的意思的. 但是如果顺序差的太多也是会影响的,比如汉阅读顺的序字你就看不懂什么意思了. 那么多少算多呢?科学家芦苇给出证明,当两个 ...
- HRBUST - 2358 Magic network
HRBUST - 2358 思路:dfs序 + 树状数组 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimiz ...
- HDU 1535 Invitation Cards(逆向思维+邻接表+优先队列的Dijkstra算法)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1535 Problem Description In the age of television, n ...
- POJ 1511 Invitation Cards / UVA 721 Invitation Cards / SPOJ Invitation / UVAlive Invitation Cards / SCU 1132 Invitation Cards / ZOJ 2008 Invitation Cards / HDU 1535 (图论,最短路径)
POJ 1511 Invitation Cards / UVA 721 Invitation Cards / SPOJ Invitation / UVAlive Invitation Cards / ...
随机推荐
- 关于bootstrap插件datepicker
<input readonly size="16" type="text" name="time" id="time&q ...
- 转载:逻辑回归的python实现
转载自:http://blog.csdn.net/zouxy09/article/details/20319673 一.逻辑回归(LogisticRegression) Logistic regres ...
- get请求参数为中文,参数到后台出现乱码(注:乱码情况千奇百怪,这里贴我遇到的情况)
前言 get请求的接口从页面到controller类出现了乱码. 解决 参数乱码: String param = "..."; 使用new String(param.getByte ...
- 20145327 实验四 Andoid开发基础
20145327 实验四 Andoid开发基础 安装Android Studio 安装过程出现未找到SDK的错误,只需在打开界面找到右下角的设置按钮,将路径设置为如下就可以运行.(默认安装路径) 设计 ...
- Linux内存管理的基本框架⭐⭐
Linux内核的映射机制设计成三层,在页面目录和页面表中间增设了一层“中间目录”.在代码中,页面目录称为PGD,中间目录称为PMD,而页面表称为PT.PT中的表项称为PTE,PTE是“Page Tab ...
- 开发人员不可不看的 OBD通讯协议知识
OBD-II Network Standards» J1850 VPW– Adopted by GM; also known as Class 2.– Adopted by Chrysler (kno ...
- 重新想,重新看——CSS3变形,过渡与动画③
这一篇主要谈谈CSS3的过渡属性. 过渡属性被设计的十分通俗易懂,属性写法为transition,有四个子属性: <transition-property> 表示需要过渡的属性[必须](本 ...
- 记数排序 & 桶排序 & 基数排序
为什么要写这样滴一篇博客捏...因为一个新初一问了一道水题,结果就莫名其妙引起了战斗. 然后突然发现之前理解的桶排序并不是真正的桶排序,所以写一篇来区别下这三个十分相似的排序辣. 老年菜兔的觉醒!!! ...
- HDU1698 just a Hook - 带有lazy标记的线段树
2017-08-30 16:44:33 writer:pprp 上午刚刚复习了一下不带有lazy标记的线段树, 下午开始学带有lazy标记的线段树 这个是我看大佬代码敲的,但是出了很多问题, 这提醒我 ...
- u-boot-2015.07 autoconf.mk生成过程分析
1.u-boot2015.7版本编译没有在顶层目录中生成.config文件,而生成了include/autoconf.mk和include/autoconf.mk.dep两个文件,并在每个模块编译的时 ...