(CF#257)B. Jzzhu and Sequences
2016-04-06 12:34
411 查看
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
output
input
output
Note
In the first sample, f2 = f1 + f3, 3 = 2 + f3, f3 = 1.
In the second sample, f2 = - 1; - 1 modulo (109 + 7) equals (109 + 6).
本来9点的CF,今天有学姐来,讲到了9点半,这题最后没注意坑点,最后判的时候还wa了,掉了100分,蛋疼中
看了别人的想法,我的还是太狭隘了。我仅仅知道找规律,别人找的规律更详细。
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 3 3
output
1
input
0 -12
output
1000000006
Note
In the first sample, f2 = f1 + f3, 3 = 2 + f3, f3 = 1.
In the second sample, f2 = - 1; - 1 modulo (109 + 7) equals (109 + 6).
本来9点的CF,今天有学姐来,讲到了9点半,这题最后没注意坑点,最后判的时候还wa了,掉了100分,蛋疼中
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> 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:"<<len<<endl; t=(n-1)%len+1; } else t=n; if(a[t]>0) cout<<a[t]%M<<endl; else { while(a[t]<0) a[t]+=M; cout<<a[t]%M<<endl; } } return 0; }
看了别人的想法,我的还是太狭隘了。我仅仅知道找规律,别人找的规律更详细。
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> 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<<endl; } }
相关文章推荐
- Easyui-ComboTree数据填充,递归。树形节点
- 如何为UICollectionView的每一个组设置不同的颜色
- UVA_10099_The Tourist Guide_kruscal
- IPtables中SNAT和MASQUERADE的区别
- Requests库使用
- Android Call requires API level 11 (current min is 8)的解决方案
- Android MeasuerSpec的由来及使用
- NSURL 、NSURLRequest、NSURLConnection、NSURLSession、NSURLSessionDataTask
- UiAutomator viewer 在tools下启动、资源jar包在platforms下(如android22)
- UVa 540 Team Queue
- Java Map 按Key排序和按Value排序
- Ui_Spinner
- iOS监听UITextField的输入事件
- android.util.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at lin
- 【Android UI设计与开发】8.顶部标题栏(一)ActionBar 奥义·详解
- get和post、cookie和session、include和require之前的区别
- UIButton基本属性及定义
- 【iOS】UITextView多行文本动态高度
- @RequestBody应用
- 安装rrdtool-1.4.5报错