7-4 sdut-C语言实验-小南同学选宾馆
分数 20
全屏浏览
切换布局
作者 马新娟
单位 山东理工大学
疫情期间到淄博隔离的山大学子们受到了淄博当地家人般的照顾,于是山大的学子们疫情后仍然会坐火车到淄博转一转,体会这座城市的温暖。这不,山大的小南同学在一个周末和同学又来到了八大局买扇子,听说都是有收藏价值呢。
到了晚上了,小南跟他的同学们要选一个宾馆住下了。但是形形色色的宾馆让小南不知所措。
对于一个宾馆来说,有许多特征,比如「价格」、「舒适度」。小南会对每个特征都有一个满意度。小南会选择出满意度更高一些的宾馆。其中,「价格」对于小南来说是最重要的,其次是「舒适度」。
如果有两个宾馆,如果对「价格」的满意度相同,那么根据「舒适度」进行选择;如果有多个宾馆条件相同,输出编号最小的宾馆。
你能帮他按照他的意愿找到小南最满意的宾馆吗?
输入格式:
给出 n (n <= 5000) 代表 n 个宾馆(编号从 1 - n),随后有 n 行数据。
每行数据有两个整数,分别代表小南对「价格」、「舒适度」的满意程度,数值越大满意程度越高,满意度的范围从0 - 5000。
输出格式:
输出按照描述的条件中小南最满意的宾馆编号,如果有多个宾馆条件相同,输出编号最小的宾馆。
输入样例:
解释
4 0 1 1 0 1 1 1 0
输出样例:
3
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
#include <stdio.h>
#include <stdlib.h>
struct binguan{
int num1;
int num2;
}score[5005];
int main()
{
int n,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d %d",&score[i].num1,&score[i].num2);
}
int max=-1;
int t;
for(i=1;i<n;i++)
{
if(score[i].num1==max)
{
if(score[i].num2>score[t].num2)
{
t=i;
}
}
else
if(score[i].num1>max)
{
t=i;
max=score[i].num1;
}
}
printf("%d\n",t);
return 0;
}