博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(CF#257)B. Jzzhu and Sequences
阅读量:5887 次
发布时间:2019-06-19

本文共 1760 字,大约阅读时间需要 5 分钟。

Jzzhu has invented a kind of sequences, they meet the following property:

You are given x and y, please calculate fn modulo 1000000007 (109 + 7).

Input

The first line contains two integers x and y (|x|, |y| ≤ 109). The second line contains a single integer n (1 ≤ n ≤ 2·109).

Output

Output a single integer representing fn modulo 1000000007 (109 + 7).

Sample test(s)
input
2 33
output
1
input
0 -12
output
1000000006
Note

In the first sample, f2 = f1 + f33 = 2 + f3f3 = 1.

In the second sample, f2 =  - 1 - 1 modulo (109 + 7) equals (109 + 6).

本来9点的CF,今天有学姐来,讲到了9点半,这题最后没注意坑点,最后判的时候还wa了,掉了100分,蛋疼中

#include
#include
#include
#include
using namespace std;const int maxn=1100;const int M=1000000007;int a[maxn];int main(){ int x,y,n; while(cin>>x>>y>>n) { a[1]=x; a[2]=y; int len=0,t; for(int i=3;;i++) { a[i]=a[i-1]-a[i-2]; if(a[i]==a[2]&&a[i-1]==a[1]&&i>=4) { len=i-2; break; } if(i>=n) break; } if(len) {// cout<<"len:"<
<
0) cout<
<
看了别人的想法,我的还是太狭隘了。我仅仅知道找规律,别人找的规律更详细。
#include
#include
#include
#include
using namespace std;const int M=(1e9)+7;int a[6];int main(){ int x,y,n; while(cin>>x>>y>>n) { a[1]=(x+M)%M; a[2]=(y+M)%M; a[3]=(a[2]-a[1]+M)%M; a[4]=(-x+M)%M; a[5]=(-y+M)%M; a[0]=(a[1]-a[2]+M)%M; cout<<(a[n%6]+M)%M<

转载地址:http://qsgix.baihongyu.com/

你可能感兴趣的文章
【转】EDK简单使用流程(3)
查看>>
[python] 伪私有属性,防止变量名冲突
查看>>
loj#2538. 「PKUWC2018」Slay the Spire
查看>>
在jsp中嵌入javascript代码执行对html的影响方式
查看>>
redhat安装opencv
查看>>
十进制与其他进制转换
查看>>
web端测试小知识
查看>>
8.30 牛客OI赛制测试赛1 F题 子序列
查看>>
.NET中<asp:MultiView>选项卡控件的用法
查看>>
为什么用bower 安装bootstrap而不用npm来安装?
查看>>
通过游戏来学习CSS的Flex布局
查看>>
Firefly加入OPEN AI LAB生态计划,推出AI开源主板
查看>>
递归函数实现方法
查看>>
[转]Windows7 64bit下配置Apache+PHP+MySQL
查看>>
CentOS6.5 下在Nginx中添加SSL证书以支持HTTPS协议访问
查看>>
给trac的ticket添加提交时字段验证
查看>>
nodejs安装-配置
查看>>
Node.js学习-1
查看>>
今天你的应用崩溃了么?
查看>>
项目中的*签到*小功能!
查看>>