2017-5-17-Train:喵哈哈村的魔法考试 Round #18 (Div.2)

A.喵哈哈村的古怪石碑(签到题)

描述

喵哈哈村有个奇怪的石碑,上面浮现出了一个奇怪的问题:

有一数列{an},给出其前三项a1,a2,a3,以及要求的项的编号n,并且数列{an}只可能是等差数列或者是首项为1的等比数列,要求A输出第n项模100007后的值。

输入

一行,四个整数,a1,a2,a3,n。满足:0< |a1|,|a2|,|a3|≤10^5,0<n<10^3。本题包含若干组测试数据。

输出

一行,一个数,即an模100007的值。(负数取模答案为负)

样例输入1

1 2 3 5

样例输出1

5

样例输入2

1 2 4 4

样例输出2

8

Solve:

直接按照等差等比通项公式算就可以了

Code:

 1 #include <bits/stdc++.h>
 2 static const int MOD=100007;
 3 using namespace std;
 4 typedef long long LL;
 5 LL a1 , a2 , a3 , an , n;
 6 void Dc()
 7 {
 8     LL d = a2 - a1;
 9     an = a1 + (n - 1) * d;
10     printf("%lld\n" , an % MOD);
11 }
12 LL QuickPower(LL a , LL b)
13 {
14     LL yaoyuan = 1;
15     while(b)
16     {
17         if(b & 1)
18             yaoyuan = (yaoyuan * a) % MOD;
19         a = (a * a) % MOD;
20         b >>= 1;
21     }
22     return yaoyuan;
23 }
24 void Db()
25 {
26     LL q = a2 / a1;
27     an = a1 * QuickPower(q , n - 1);
28     printf("%lld\n" , an % MOD);
29 }
30 int main()
31 {
32     while(~scanf("%lld%lld%lld%lld" , &a1 , &a2 , &a3 , &n))
33     {
34         if(a1 != 1 || (a1 == 1 && a2 - a1 == a3 - a2))
35             Dc();
36         else
37             Db();
38     }
39
40 }

时间: 2024-10-10 01:58:09

2017-5-17-Train:喵哈哈村的魔法考试 Round #18 (Div.2)的相关文章

2017-5-16-Train:喵哈哈村的魔法考试 Round #19 (Div.2)

A.喵哈哈村的魔力源泉(水题) 描述 喵哈哈村有一个魔法源泉,里面有无穷无尽的力量. 但是前提是你能答出这样一个问题: 给你a,b,p,让你输出a*b%p的值. 输入 本题包含若干组测试数据.第一行三个整数a,b,p.满足:0<=a,b,p<=1e9 输出 输出答案 样例输入1 1 2 5 2 3 5 样例输出1 2 1 Solve: 水题 Code: 1 #include <bits/stdc++.h> 2 using namespace std; 3 int main() 4

喵哈哈村的魔法考试 Round #7 (Div.2) B

  B 喵哈哈村的麦克雷  喵哈哈村的麦克雷 发布时间: 2017年3月13日 11:51   最后更新: 2017年3月14日 18:16   时间限制: 1000ms   内存限制: 128M 描述 为了拯救喵哈哈村,这个世界必须要存在英雄. 一名叫做麦克雷的英雄站了出来!他现在面临一个难题: 给定一个N x M的01矩阵,其中1表示陆地,0表示水域.对于每一个位置,求出它距离最近的水域的距离是多少. 矩阵中每个位置与它上下左右相邻的格子距离为1. 输入 本题包含若干组测试数据:第一行包含两

喵哈哈村的魔法考试 Round #10 (Div.2) A

喵哈哈村与哗啦啦村的大战(一) 发布时间: 2017年3月27日 09:13   时间限制: 1000ms   内存限制: 128M 描述 喵哈哈村因为和哗啦啦村争夺稀有的水晶资源,展开了激烈的战斗! 喵哈哈村里面有n个战士,这些战士每个人一开始拥有a[i]的战斗力,现在每个战士可以被艾尔之光强化三次,每次强化有p的概率增加一点战斗力,反之会有(1-p)的概率降低一点战斗力,当然战斗力不可能降为负数. 现在问题来了,对于喵哈哈村的n个战士,他们强化三次之后,战斗力最高可以到达多少呢?最少可以到达

喵哈哈村的魔法考试 Round #3 (Div.2) ABCDE

官方题解:http://www.cnblogs.com/qscqesze/p/6480284.html 哗啦啦村的刁难(1) 描述 哗啦啦村作为喵哈哈村的对头,于是他们准备给喵哈哈村一个好看. 哗啦啦村的头号长老--鱼先生,就提出了以下问题: 给你三个木棍,问你这三个木棍,是否能够组成一个非退化的三角形! 输入 第一行一个整数T,表示测试组数的个数.接下来T行,每行三个整数,a,b,c.表示哗啦啦村提供的三根木棍. 满足1<=T<=1001<=a,b,c<=5000 输出 如果可以

喵哈哈村的魔法考试 Round #10 (Div.2) B

喵哈哈村与哗啦啦村的大战(二) 发布时间: 2017年3月27日 09:25   时间限制: 1000ms   内存限制: 128M 描述 喵哈哈村因为和哗啦啦村争夺稀有的水晶资源,展开了激烈的战斗. 喵哈哈村与哗啦啦村战斗的地图可以视为一个二维平面. 喵哈哈村准备修建n个防御工事,唯一的要求就是任意两个防御工事之间的距离不得大于R. 在喵哈哈村修建完防御工事之后,哗啦啦村准备选择一个防御工事进行攻击,这个防御工事包括离被攻击防御工事距离小于等于r的防御工事都将被摧毁.其中:R*R=2*r*r.

qscoj 喵哈哈村的魔法考试 Round #5 (Div.2) 题解(前1,2,3题)ps:前三题在本人水平可掌控范围之内

题目链接:http://qscoj.cn/problem/30/ 第一题 喵哈哈村的狼人杀大战(1) 时间限制: 1000ms   内存限制: 128M 描述 喵哈哈村最近热衷于玩一个叫做狼人杀的游戏! 张小田今天她抽到的是民的身份,按照她的一贯玩法,她不会考虑发言者的发言,她只考虑站队情况. 现在是警上竞选的投票环节,现在只剩下还能当警长的两个真假预言家. 张小田认为,如果在某一天,有连续坐在一起的k个人投票给同一个人的话,那么她就认为这一局可能比较危险. 投给第一个预言家的,就记为0,投给第

喵哈哈村的魔法考试 Round #19 (Div.2) C

描述 喵哈哈村有一个魔法源泉,里面有无穷无尽的力量. 但是前提是你能答出这样一个问题: 小T打算在城市C开设一家外送快餐店.送餐到某一个地点的时间与外卖店到该地点之间最短路径长度是成正比的,小T希望快餐店的地址选在离最远的顾客距离最近的地方. 快餐店的顾客分布在城市C的N个建筑中,这N个建筑通过恰好N-1条双向道路连接起来,不存在任何两条道路连接了相同的两个建筑.任意两个建筑之间至少存在一条由双向道路连接而成的路径.小T的快餐店可以开设在任一建筑中,也可以开设在任意一条道路的某个位置上(该位置与

喵哈哈村的魔法考试 Round #14 (Div.2)

喵哈哈村的四月半活动(一)(水题) 描述 今天是四月十五日,是喵哈哈村一年一度的四月半活动,这次活动是由今日头条赞助. 今日头条的乐乐同学在广场上出了一道题,谁答对,就能获得他的祝福哦. 题目如下: 勾股定理是初中数学的重要定理.它的内容是:直角三角形中,两直角边长度的平方和等于斜边长度的平方.若边c是斜边,边a和b是直角边,则a×a+b×b=c×c. 已知一个直角三角形的两边长,求第三条边的长度. 输入 只有一行,这一行有两个用空格隔开的正整数,即已知的两条边. 100%的数据,给出的边长大于

喵哈哈村的魔法考试 Round #19 (Div.2) B

题目链接: http://qscoj.cn/problem/128/ 题意: 给你a,b,p,让你输出a*b%p的值.0<=a,b,p<=1e18 思路: 两个long long 相乘然后mod p,相乘以后可能会溢出,古有快速幂,现有快速乘法. 代码: 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 #define MS(a) memset(a,0,sizeof(a)) 5 #