cf450B. Jzzhu and Sequences
2016-05-05 13:35
302 查看
B. Jzzhu and Sequences
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
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).
Examples
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).
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<queue>
#include<list>
#include<cmath>
#include<vector>
#define MOD 1000000007ll
using namespace std;
const int maxn=10010;
int main()
{
long long x,y,n;
scanf("%lld%lld%lld",&x,&y,&n);
long long k=n%6;
if(k==1){
printf("%lld\n",(x+4*MOD)%MOD);
}
else if(k==2){
printf("%lld\n",(y+4*MOD)%MOD);
}
else if(k==3){
printf("%lld\n",(y-x+4*MOD)%MOD);
}
else if(k==4){
printf("%lld\n",(-x+4*MOD)%MOD);
}
else if(k==5){
printf("%lld\n",(-y+4*MOD)%MOD);
}
else if(k==0){
printf("%lld\n",(x-y+4*MOD)%MOD);
}
return 0;
}
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
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).
Examples
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).
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<queue>
#include<list>
#include<cmath>
#include<vector>
#define MOD 1000000007ll
using namespace std;
const int maxn=10010;
int main()
{
long long x,y,n;
scanf("%lld%lld%lld",&x,&y,&n);
long long k=n%6;
if(k==1){
printf("%lld\n",(x+4*MOD)%MOD);
}
else if(k==2){
printf("%lld\n",(y+4*MOD)%MOD);
}
else if(k==3){
printf("%lld\n",(y-x+4*MOD)%MOD);
}
else if(k==4){
printf("%lld\n",(-x+4*MOD)%MOD);
}
else if(k==5){
printf("%lld\n",(-y+4*MOD)%MOD);
}
else if(k==0){
printf("%lld\n",(x-y+4*MOD)%MOD);
}
return 0;
}
相关文章推荐
- Varnish Install And Configure
- Windows 98 SE 第二版 迅雷下载地址
- Insert Date and Time into Access
- asp的SQL语句中and和or同时使用的注意事项
- 拖动Html元素集合 Drag and Drop any item
- 学习drag and drop js实现代码经典之作
- J2SE1.5 注释语法
- And,Where使用提示以及用+进行左关联的提示及注意事项
- Android开发adb.exe' and can be executed.错误解决方法
- Table ‘xxx’ is marked as crashed and should be repaired 错误解决方法参考
- drag-and-drop实现图片浏览器预览
- 简单说说Java SE、Java EE、Java ME三者之间的区别
- python关键字and和or用法实例
- Python and、or以及and-or语法总结
- Python中AND、OR的一个使用小技巧
- Nginx中IF、AND、OR语句用法实例
- 负载均衡及会话保存(Ofbiz框架)
- (翻译)Java SE 8 Lambda 特性与基本原理(上)
- (翻译)Java SE 8 Lambda 特性与基本原理(下)
- 2016春季苹果发布会都干了啥,看这一篇就够了