Problem Description
度度熊最近学习了多项式和极限的概念。
现在他有两个多项式 f(x)f(x) 和 g(x)g(x),他想知道
当 x 趋近无限大的时候,f(x)/g(x) 收敛于多少。

Input
第一行一个整数T (1≤T≤100) 表示数据组数。 对于每组数据,第一行一个整数n (1≤n≤1,000),
n-1表示多项式 f(x) 和 g(x) 可能的最高项的次数(最高项系数不一定非0)。
接下来一行 n 个数表示多项式 f(x),第 i 个整数 fi(0≤fi ≤1,000,000) 表示次数为 i-1 次的项的系数。
接下来一行 n 个数表示多项式 g(x),第 i 个整数 gi(0≤gi <=1,000,000) 表示次数为 i-1 次的项的系数。
数据保证多项式 f 和 g 的系数中至少有一项非0。

Output
对于每组数据,输出一个最简分数 a/ba/b(aa 和 bb 的最大公约数为1)表示答案。 如果不收敛,输出 1/01/0。

Sample Input

3
2
0 2
1 0
2
1 0
0 2
3
2 4 0
1 2 0

Sample Output

1/0
0/1
2/1

样例描述
这些多项式分别为
f(x) = 2xf(x)=2x
g(x) = 1g(x)=1
f(x) = 1f(x)=1
g(x) = 2xg(x)=2x
f(x) = 4x + 2f(x)=4x+2
g(x) = 2x + 1g(x)=2x+1

思路解析:根据数学可知,多项式f(x) / g(x)在x趋于无穷大时求是否存在极限,只需要判断两式中最高次系数之比,若此时f(x)系数为0,为“0/1”,若该项g(x)系数为0,则不收敛为“1/0”。若收敛,则再用gcd化为最简分数即可。

#include<bits/stdc++.h>
#define fio ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
using namespace std;
int gcd(int a, int b) {
  return b == 0 ? a : gcd(b, a%b);
}
int main() {
  fio
  int t;
  cin >> t;
  int num;
  int f[1005], g[1005], a = 0;  
  while (t--) {
    cin >> num;
    for (int i = 0; i < num; i++) 
      cin >> f[i];
    for (int i = 0; i < num; i++) 
      cin >> g[i];
    int fmax, gmax;
    for (int i = num-1; i >= 0; i--) {
      if (f[i] != 0 || g[i] != 0) {
        fmax = f[i];
        gmax = g[i];
        break; 
      } 
    }
    if (gmax == 0) cout << "1/0" << endl;
    else if (fmax == 0) cout << "0/1" << endl;
    else {
      int m = gcd(fmax, gmax);
      fmax = fmax/m;
      gmax = gmax/m;
      cout << fmax << "/" << gmax << endl;
    }
  }
}