View Code of Problem 3861

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
struct Phone
{
    string name;
    int p;
    int q;
};
bool Compare(Phone A,Phone B)
{
    return 1.0*A.p/A.q>1.0*B.p/B.q;
}
int main()
{
    int n,i,j;
    scanf("%d",&j);
    while(j--)
    {
    scanf("%d",&n);
    vector<Phone> a;
    for(i=0;i<n;i++)
    {
        Phone phone;
        cin>>phone.name;
        cin>>phone.p;
        cin>>phone.q;
        a.push_back(phone);
    }
    sort(a.begin(),a.end(),Compare);
    for(i=0;i<n;i++)
    {
        cout<<i+1<<" "<<a[i].name<<" "<<a[i].p<<" "<<a[i].q<<endl;
    }
    }
    return 0;
}

Double click to view unformatted code.


Back to problem 3861