A - Hanzo vs. Genji

留坑。

 

B - Fraction

水。

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 inline int gcd(int a, int b)
 5 {
 6     return b ? gcd(b, a % b) : a; 
 7 }
 8 
 9 int t, n;
10 int a[10], b[10];
11 
12 int main()
13 {
14     scanf("%d", &t);
15     for (int kase = 1; kase <= t; ++kase)
16     {
17         scanf("%d", &n);
18         for (int i = 1; i <= n; ++i) scanf("%d", a + i);
19         for (int i = 1; i <= n; ++i) scanf("%d", b + i);
20         int p = b[n], q = a[n];
21         for (int i = n - 1; i >= 1; --i)
22         {
23             int tq = a[i] * q + p; 
24             int tp = b[i] * q;
25             p = tp, q = tq;
26             int Gcd = gcd(p, q); p /= Gcd, q /= Gcd;
27         }
28         int Gcd = gcd(p, q); p /= Gcd, q /= Gcd;
29         printf("Case #%d: %d %d\n", kase, p, q);
30     }
31     return 0;
32 }
View Code

相关文章: