Significado de la pregunta: múltiples grupos de entrada, cada grupo tiene N muestras, cada grupo tiene dos muestras PD
P es el precio de la pizza, D es el diámetro de la pizza.
Encuentre el diámetro correspondiente al precio más pequeño por unidad de área,
preste atención al formato de salida Salida
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <vector>
#include <stack>
#include <queue>
#include <stdlib.h>
#include <sstream>
#include <map>
#include <set>
typedef unsigned long long ull;
using namespace std;
double f(int x, int y)//定义了一个函数,用来求单位面积下的价钱,方便使用。
{
double pi = acos(-1);//这可是求π的好方法哎
double p = 4*y/(pi*x*x);
return p;
}
double ar[10005];//这个数组存f(D,P)的值,用于后续比较大小
int br[10005];//这个数组用于存每个ar对应 的披萨的尺寸
int main()
{
int D, P, n;
int sum;
int ans = 0;
while(cin>>n && n!=0){
for(int i = 0; i < n; i++)
{
sum= 0;
cin>>D>>P;
br[i] = D;
ar[i] = f(D,P);
}
for(int i = 1; i<n; i++)
{
if(ar[sum] > ar[i])
{
sum = i;//非常关键,因为如果用排序,得到的最后那个ar[0],对应的br是不知道的,所以每次比较都要用sum储存一下
}
}
ans++;
cout<<"Menu "<<ans<<": "<<br[sum]<<'\n';
}
}