牛客网--14603--毕业设计选题

题目描述:
又到了一年一度,大四老学长们毕业设计选题的时候,一般指导老师都会为学生提供若干个选题供学生选择。大家都知道,有的课题,看上去高大上,实则含金量不高,有的课题看似简单,但实际难度却非常大,也有的课题,没有什么太大难度,但却异常繁琐,工作量极大。现大致评估出每个课题的高大上值,实际工作量。已知小飞学长,是个懒惰的家伙,但却又极好面子,因此,请帮他找出高大上值和实际工作量比值最大的课题。
输入描述:
共有T组数据。(T<=10),每组数据第一行有一个整数n(n<=200000),接下来n行,每行一个课题名称(只包含大小写字母,长度小于40),以及该课题的高大上值v,以及其工作量w。(v,w都是小于109的整数)。
输出描述:
对于每组样例输出一个课题名称,代表该组样例中高大上值和实际工作量比值最大的课题(保证唯一)。
输入:
1
2
CloudComputingBasedOnDistributedSystems 5 2
PotentialRisksInRegularSystem 4 2
输出:
CloudComputingBasedOnDistributedSystems
题意:
题目描述
题解
直接搞
代码:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;

const int maxn = 200000 + 5;

struct point{
    char s[41];
    int v,w;
};

double b[maxn];
point a[maxn];

int main(){
    int t,n;
    scanf("%d",&t);
    while(t--){
        scanf("%d",&n);
        double x,y;
        for(int i = 1; i <= n; i ++){
            scanf("%s%d%d",a[i].s,&a[i].v,&a[i].w);
        }
        for(int i = 1; i <= n; i ++){
            b[i] = (a[i].v * 1.0) / a[i].w;
        }
        int t = 1;
        for(int i = 1; i <= n; i ++){
            if(b[i] > b[t]){
                t = i;
            }
        }
        printf("%s\n",a[t].s);
    }
    return 0;
}

发布了228 篇原创文章 · 获赞 1 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/Ypopstar/article/details/105177544