複雜度太高
//============================================================================
// Name : hello.cpp// Author : key
// Version : 8
// Copyright : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <queue>
#include <stack>
#include <set>
#include <string>
#include <algorithm>
using namespace std;
#define NUM_INF 0XFFFFF
int b[110][110];
int p[110][110];
int m[110];
int main()
{
int t;
int n;
int i,j,k;
int b_max;
int b_min;
int p_min;
int each_sum;
double ans;
double temp;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
b_min = NUM_INF;
b_max = 0;
for(i=0;i<n;i++)
{
scanf("%d",&m[i]);
for(j=0;j<m[i];j++)
{
scanf("%d%d",&b[i][j],&p[i][j]);
if(b[i][j]>b_max)
b_max = b[i][j];
if(b[i][j]<b_min)
b_min = b[i][j];
}
}
ans = 0.0;
for(i=b_min;i<=b_max;i++)
{
each_sum = 0;
for(j=0;j<n;j++)
{
p_min = NUM_INF;
for(k=0;k<m[j];k++)
{
if(b[j][k]>=i && p[j][k]<p_min)
p_min = p[j][k];
}
each_sum+=p_min;
}
// printf("%lf\n",temp);
temp = (double)i/(double)each_sum;
if(ans<temp)
ans = temp;
}
printf("%.3lf\n",ans);
}
return 0;
}