• 2017年浙工大迎新赛热身赛 A 毕业设计选题 【结构体排序】


    时间限制:C/C++ 1秒,其他语言2秒
    空间限制:C/C++ 65536K,其他语言131072K
    64bit IO Format: %lld

    题目描述

    又到了一年一度,大四老学长们毕业设计选题的时候,一般指导老师都会为学生提供若干个选题供学生选择。大家都知道,有的课题,看上去高大上,实则含金量不高,有的课题看似简单,但实际难度却非常大,也有的课题,没有什么太大难度,但却异常繁琐,工作量极大。现大致评估出每个课题的高大上值,实际工作量。已知小飞学长,是个懒惰的家伙,但却又极好面子,因此,请帮他找出高大上值和实际工作量比值最大的课题。

    输入描述:

    共有T组数据。(T<=10),每组数据第一行有一个整数n(n<=200000),接下来n行,每行一个课题名称(只包含大小写字母,长度小于40),以及该课题的高大上值v,以及其工作量w。(v,w都是小于109的整数)。

    输出描述:

    对于每组样例输出一个课题名称,代表该组样例中高大上值和实际工作量比值最大的课题(保证唯一)。
    示例1

    输入

    1
    2
    CloudComputingBasedOnDistributedSystems 5 2
    PotentialRisksInRegularSystem 4 2

    输出

    CloudComputingBasedOnDistributedSystems

    【分析】:cin是真的很慢
    【代码】:
    #include <bits/stdc++.h>
    using namespace std;
    const int N = 200000+10;
    int t,n;
    struct node
    {
        char name[50];
        int v,w;
    }a[N];
    int cmp(node a,node b)
    {
        return (double)(a.v*1.0/a.w)>(double)(b.v*1.0/b.w);
    }
    int pos;
    int main()
    {
        //ios::sync_with_stdio(false);
        scanf("%d",&t);
        while(t--)
        {
            double ma=-1;
            scanf("%d",&n);
            for(int i=1;i<=n;i++)
            {
                //cin>>a[i].name>>a[i].v>>a[i].w;
                scanf("%s%d%d",a[i].name,&a[i].v,&a[i].w);
                if((double)ma<(double)(a[i].v*1.0/a[i].w))
                {
                    ma=(double)(a[i].v*1.0/a[i].w);  //打擂台找比值最大
                    pos=i;  //记录最大比值的标号
                }
            }
           // sort(a+1,a+n+1,cmp);
            //cout<<ma<<' '<<pos<<endl;
            printf("%s
    ",a[pos].name); //最大比值标号的名字
        }
    }
    

      

  • 相关阅读:
    Python进阶08 生成器
    Python进阶07 迭代
    Python进阶06 列表推导
    Python进阶05 函数property
    Python基础14 集合
    支付宝支付和微信消息推送
    Redis
    django之contenttype
    数据分析系列
    IPython
  • 原文地址:https://www.cnblogs.com/Roni-i/p/8007364.html
Copyright © 2020-2023  润新知