⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4878435_ac_625ms_472k.cpp

📁 部分PKU上的源码
💻 CPP
字号:
#include<iostream>
using namespace std;
struct set
{
	int b,i,j;
}q[10005];
struct de
{
	int b,p;
};
int tmin,tmax;
de x[110][110];
int n,xl[110];
float best;
void find(int a)
{
	set temp=q[a];
	int i,j;
	int all=0;
	for(i=1;i<=n;i++)
	{
		if(i==temp.i)
		{
			all+=x[i][temp.j].p;
		}
		else
		{
			int minp=10000;
			for(j=1;j<=xl[i];j++)
			{
				if(x[i][j].b>=temp.b)
				{
					if(x[i][j].p<minp)minp=x[i][j].p;
				}
			}
			all+=minp;
		}
	}
	float re=(float)temp.b/(float)all;
	if(re>best) best=re;
}
int main()
{
	int test;
	cin>>test;
	for(int count=0;count<test;count++)
	{
	cin>>n;
	int i,j;
	tmin=-1;
	tmax=10000;
	for(i=1;i<=n;i++)
	{
		cin>>xl[i];
		int ttmin=10000,ttmax=-1;
		for(j=1;j<=xl[i];j++)
		{
			cin>>x[i][j].b>>x[i][j].p;
			if(x[i][j].b>ttmax)ttmax=x[i][j].b;
			if(x[i][j].b<ttmin)ttmin=x[i][j].b;
		}
		if(ttmin>tmin)tmin=ttmin;
		if(ttmax<tmax)tmax=ttmax;
	}
	int ql=0;
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=xl[i];j++)
		{
			if(x[i][j].b<=tmax&&x[i][j].b>=tmin)
			{
				q[ql].b=x[i][j].b;
				q[ql].i=i;
				q[ql].j=j;
				ql++;
			}
		}
	}
	best=0.0;
	for(i=0;i<ql;i++)
	{
		find(i);
	}
	printf("%.3lf\n",best);
	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -