$ \ {色のブルーが} {一時的に私は一つの質問、それの価値を持っていたようだ(霧)} $
アイデア:
誘導体の知識に基づいて(そして唯一のルートなしのログなしでこの機能が良く見える)、xの各時間微分は、各項目の時間を落ちます
もちろん、時間がないを行うには、各アイテムのx 0番目を置くだろう.......
それで、我々は見つけるために、F(x)とg(x)はxの最大期間を置くことができ、長期の多数は時間の最高存在、あろう1/0又は0/1に対応します。
数をf(x)とg(x)の数に等しい場合、次いで、それは、2つの行にGCD求めるだろう!
コードはQAQここに置かれます
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#define maxn 1200
#define int long long
using namespace std ;
int T , f[maxn] , f_lop ;
int n , g[maxn] , g_lop ;
signed main() {
scanf("%d",&T) ;
while(T --) {
scanf("%d",&n) ;
f_lop = g_lop = n-1 ;
for(int i = 0 ; i < n ; i ++) {
scanf("%d",&f[i]) ;
}
for(int i = 0 ; i < n ; i ++) {
scanf("%d",&g[i]) ;
}
while(!f[f_lop]&&f_lop>0) {
f_lop --;
}
while(!g[g_lop]&&g_lop>0) {
g_lop -- ;
}
if(f_lop > g_lop) {
puts("1/0") ;
}else if(g_lop > f_lop) {
puts("0/1") ;
}else {
int c = __gcd(f[f_lop],g[g_lop]) ;
cout << f[f_lop]/c << "/" << g[g_lop]/c <<endl ;
}
}
return 0 ;
}