正经题解|炎炎夏日
2024-07-22 10:40:44
发布于:浙江
30阅读
0回复
0点赞
题目分析
按照一定的规则挑选一个日子,若找不到则输出 ,规则如下。
- 从晴天中选最高气温最低的日子。
- 如果存在多个最高气温相同的日子,则在这些日子中优先选择最低气温较低的那一天。
- 如果最低气温也相同,则选择距离当前时间最近的那一天。
按照规则做排序即可。
AC代码
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
typedef long long ll;
const int N = 2e5 + 10;
struct node {
int lo,hi,idx;
char flag;
}arr[7];
bool cmp(node x,node y) {
if (x.hi != y.hi)
return x.hi < y.hi;
if (x.lo != y.lo)
return x.lo < y.lo;
return x.idx < y.idx;
}
int main() {
for(int i=0;i<7;i++) {
cin >> arr[i].lo >> arr[i].hi >> arr[i].flag;
arr[i].idx = i + 1;
}
sort(arr,arr+7,cmp);
int idx = -1;
for(int i=0;i<7;i++) {
if (arr[i].flag == 'Y') {
idx = arr[i].idx;
break;
}
}
cout << idx << endl;
return 0;
}
这里空空如也
有帮助,赞一个