Educational Codeforces Round 39 (Rated for Div. 2) B. Weird Subtraction Process
2018-03-09 11:39
567 查看
点击打开链接
B. Weird Subtraction Process
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
You have two variables
a and
b. Consider the following sequence of actions performed with these variables:
If
a = 0 or
b = 0, end the process. Otherwise, go to step
2;
If
a ≥ 2·b, then set the value of
a to
a - 2·b, and repeat step
1. Otherwise, go to step
3;
If
b ≥ 2·a, then set the value of
b to
b - 2·a, and repeat step
1. Otherwise, end the process.
Initially the values of
a and
b are positive integers, and so the process will be finite.
You have to determine the values of
a and
b after the process ends.
Input
The only line of the input contains two integers
n and
m (1 ≤ n, m ≤ 1018).
n is the initial value of variable
a, and
m is the initial value of variable
b.
Output
Print two integers — the values of
a and
b after the end of the process.
Examples
Input
Copy
Output
Input
Copy
Output
Note
Explanations to the samples:
a = 12,
b = 5
a = 2,
b = 5
a = 2,
b = 1
a = 0,
b = 1;
a = 31,
b = 12
a = 7,
b = 12.
题意: 给两个数,A,B,然后 执行一下步骤
第一步:若两个数中任意一个数为0,结束程序,否者执行第二步
第二步:若A>=2*B,那么A-=2*B,然后返回第一步。否者执行第三步
第三部:若B>=2*A,那么B-=2*A,然后返回第一步。否者执行结束程序
思路:模拟 解决。不过A,B数据过大,不能执行减法,分析完上述步骤后,用取余不会超时
B. Weird Subtraction Process
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
You have two variables
a and
b. Consider the following sequence of actions performed with these variables:
If
a = 0 or
b = 0, end the process. Otherwise, go to step
2;
If
a ≥ 2·b, then set the value of
a to
a - 2·b, and repeat step
1. Otherwise, go to step
3;
If
b ≥ 2·a, then set the value of
b to
b - 2·a, and repeat step
1. Otherwise, end the process.
Initially the values of
a and
b are positive integers, and so the process will be finite.
You have to determine the values of
a and
b after the process ends.
Input
The only line of the input contains two integers
n and
m (1 ≤ n, m ≤ 1018).
n is the initial value of variable
a, and
m is the initial value of variable
b.
Output
Print two integers — the values of
a and
b after the end of the process.
Examples
Input
Copy
12 5
Output
0 1
Input
Copy
31 12
Output
7 12
Note
Explanations to the samples:
a = 12,
b = 5
a = 2,
b = 5
a = 2,
b = 1
a = 0,
b = 1;
a = 31,
b = 12
a = 7,
b = 12.
题意: 给两个数,A,B,然后 执行一下步骤
第一步:若两个数中任意一个数为0,结束程序,否者执行第二步
第二步:若A>=2*B,那么A-=2*B,然后返回第一步。否者执行第三步
第三部:若B>=2*A,那么B-=2*A,然后返回第一步。否者执行结束程序
思路:模拟 解决。不过A,B数据过大,不能执行减法,分析完上述步骤后,用取余不会超时
#include<cstdio> #include<iostream> #include<cstring> #include<algorithm> using namespace std; int main(){ long long a ,b; cin >> a >> b; int resa,resb; while(1){ //cout << a <<" " << b << endl; if(a == 0 || b == 0) break; else { if(a >= 2*b){ a %= 2*b; continue; } else { if( b >= 2*a) { b %= 2*a; continue; } else break; } } } cout << a << " " << b << endl; }
相关文章推荐
- Educational Codeforces Round 39 (Rated for Div. 2) 946E E. Largest Beautiful Number
- Educational Codeforces Round 39 (Rated for Div. 2) G
- Educational Codeforces Round 39 (Rated for Div. 2) D. Timetable(动态规划)
- Educational Codeforces Round 39 (Rated for Div. 2)
- Educational Codeforces Round 39 B - Weird Subtraction Process
- Educational Codeforces Round 39 (Rated for Div. 2) A. Partition(水题)
- Educational Codeforces Round 39 (Rated for Div. 2) C. String Transformation
- Educational Codeforces Round 39 (Rated for Div. 2) codeforces946 D. Timetable-数据处理+分组背包(处理炸裂)
- Educational Codeforces Round 39 (Rated for Div. 2)D. Timetable(dp)
- Educational Codeforces Round 39 (Rated for Div. 2) E Largest Beautiful Number
- Educational Codeforces Round 39 (Rated for Div. 2) codeforces946 A.Partition B.Weird Subtraction Process C.String Transformation
- Educational Codeforces Round 39 (Rated for Div. 2)(A-D)(水题 + 模拟 + 贪心模拟 + DP)
- Educational Codeforces Round 39 (Rated for Div. 2) D. Timetable (背包)
- Educational Codeforces Round 33 (Rated for Div. 2) B题. Beautiful Divisors
- Educational Codeforces Round 33 (Rated for Div. 2) A - Chess For Three
- Educational Codeforces Round 33 (Rated for Div. 2) A-C题解
- Educational Codeforces Round 36 (Rated for Div. 2) C 不大于某个数的序列变换
- Educational Codeforces Round 35 (Rated for Div. 2)
- Educational Codeforces Round 41 (Rated for Div. 2)
- Educational Codeforces Round 37 (Rated for Div. 2)-F-SUM and REPLACE(线段树)