CodeForces - 343A (Rational Resistance)[模拟]

·· / ·– ·· ·-·· ·-·· / ·–· · ·-· ··· ·· ··· - / ··- -· - ·· ·-·· / ·· / ·– ·· -·
题目链接:http://codeforces.com/problemset/problem/343/A
参考博客:TofuNotHere

本来以为这题是超级麻烦的搜索的,结果这题真是在考物理啊。。

以下引用自TofuNotHere的博客:

对于电阻来说将k个电阻串联和并联关系完全反转的话,阻值的变化特性是变为原阻值的倒数,因而我们可以利用这一特性不停的将并联关系转化为串联关系,而A/B可化为假分数形式n+a/B,期中整数部分由n个电阻串联,分数部分由一个并联电阻组组成,将并联化为串联关系,即将分数部分倒过来,不断反复,累加得到答案

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
int main() {
std::ios::sync_with_stdio(false);
long long a,b;
long long ans=0;
std::cin >> a >> b;
while (b) {
ans+=a/b;
a%=b;
std::swap(a,b);
}
std::cout << ans;
}