首页 > 代码库 > Codeforces Round #257 (Div. 2/B)/Codeforces450B_Jzzhu and Sequences
Codeforces Round #257 (Div. 2/B)/Codeforces450B_Jzzhu and Sequences
B解题报告
算是规律题吧,,,x y z -x -y -z
注意的是如果数是小于0,要先对负数求模再加模再求模,不能直接加mod,可能还是负数
给我的戳代码跪了,,,
#include <iostream> #include <cstring> #include <cstdio> using namespace std; long long x,y,z; long long n; int main() { cin>>x>>y; cin>>n; z=y-x; long long t; t=(n-1)/3; if(t%2==0) { n%=3; if(n==0) { if(z>=0) cout<<z%1000000007; else cout<<(z%1000000007+1000000007)%1000000007; } else if(n==1) { if(x>=0) cout<<x%1000000007; else cout<<(x%1000000007+1000000007)%1000000007; } else { if(y>=0) cout<<y%1000000007; else cout<<(y%1000000007+1000000007)%1000000007; } } else { x=-x; y=-y; z=-z; n%=3;if(n==0) { if(z>=0) cout<<z%1000000007; else cout<<(z%1000000007+1000000007)%1000000007; } else if(n==1) { if(x>=0) cout<<x%1000000007; else cout<<(x%1000000007+1000000007)%1000000007; } else { if(y>=0) cout<<y%1000000007; else cout<<(y%1000000007+1000000007)%1000000007; } } return 0; }
Jzzhu and Sequences
time limit per test
1 secondmemory limit per test
256 megabytesinput
standard inputoutput
standard outputJzzhu 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 3 3
output
1
input
0 -1 2
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).
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。