C 小I的小姐姐 SDUT

Time Limit: 1000 ms Memory Limit: 65536 KiB


Problem Description

小 I 去天津玩啦,一路上,他跟他的同学发生了许多有趣的事。

当他们路过天津外国语学院时,他发现了许多小姐姐,他眼花缭乱,甚至不知道该去找哪个小姐姐聊天。

怎么办怎么办!

于是他想到了你,他拍了一张照片给你,你发现照片里一共有 n 个小姐姐(序号从 0 到 n - 1),每个小姐姐都有自己的风格,可以按特征划分出 3 个特征值 w1 , w2 , w3 ,你知道小 I 特别喜欢 w1 特征值高的小姐姐,不太看重 w3 ,于是你对于每个特征都赋予一个权重,分别对应为0.7 0.2 0.1,你能帮小 I 找出来他发来的这张照片里他最喜欢的小姐姐吗?


Input

多组输入,对于每组输入:

第一行给出 n (n <= 5000) ,之后有 n 行数。
每行数有三个数 w1, w2, w3,表示三个特征值。
所有整数及结果都在整型范围内,不存在权值和相等的情况。


Output

n 个小姐姐中权值和最高的序号。


Sample Input

3
1 5 10
5 1 10
10 5 1


Sample Output

2


Hint
Source

【2017级《程序设计基础(B)II》期末上机考试】IceCapriccio


#include <stdio.h>
#include <stdlib.h>
  struct node
  {
      int w1;
      int w2;
      int w3;
  }s[5000];
  //定义结构体型数组;
  int main()
  {
      int n,i;
      while(~scanf("%d",&n))
      {
          double a[5000],max = 0;
          //因为下面的衡量值有权重比例,所以可能有小数;
          for(i=0;i<n;i++)
          //输入并求出,所需的衡量值;
          {
              scanf("%d%d%d",&s[i].w1,&s[i].w2,&s[i].w3);
              a[i] = s[i].w1*0.7 + s[i].w2*0.2 + s[i].w3*0.1;

          }
          int k;
          for(i=0;i<n;i++)
          //寻找最大值,及其序号;
          {
              if(a[i]>max)
              {
                  max = a[i];
                  k = i;
              }
          }
          printf("%d\n",k);
      }

      return 0;
  }

发布了136 篇原创文章 · 获赞 95 · 访问量 2341

猜你喜欢

转载自blog.csdn.net/zhangzhaolin12/article/details/103933200