[语言月赛 202311] 风球
题目背景
与中国大陆不同,当台风即将来袭时,香港天文台将会根据情况发布 1 , 3 , 8 , 9 , 10 1,3,8,9,10 1,3,8,9,10 五个等级的热带气旋警告信号。数字越大,代表台风影响越严重。当发布 8 8 8 号烈风信号时,香港就会停课停工。下图为香港天文台的 10 10 10 号飓风信号:
题目描述
香港天文台选定了 8 8 8 个气象站。在台风影响期间,香港天文台会根据这些气象站的风速观测数据决定发布哪一个等级的预警。
- 因为已经受到台风影响,因此必然会发布 1 1 1 号戒备信号;
- 若有 4 4 4 个气象站的持续风力达到或超过 41 41 41 千米/小时,则发布 3 3 3 号强风信号;
- 若有 4 4 4 个气象站的持续风力达到或超过 63 63 63 千米/小时,则发布 8 8 8 号烈风信号;
- 若有 1 1 1 个气象站的持续风力达到或超过 118 118 118 千米/小时,则发布 10 10 10 号飓风信号;
- 多个条件同时满足,则发布其中最高等级的信号。
现在给定这些气象站的风力数据,请计算出香港天文台应当发布什么警告信号。
输入格式
输入共一行,用空格隔开的 8 8 8 个正整数,表示这 8 8 8 个气象站的风速观测数据。
输出格式
输出一行一个正整数,表示应当发布哪一个等级的警告信号。
样例 #1
样例输入 #1
126 75 94 57 53 81 50 48
样例输出 #1
10
样例 #2
样例输入 #2
76 40 49 36 26 42 27 26
样例输出 #2
1
样例 #3
样例输入 #3
99 83 96 54 63 59 45 55
样例输出 #3
8
提示说明
【样例解释】
第一组样例中,第一个气象观测站观测到了超过 118 118 118 千米/小时的风速,因此应当发布 10 10 10 号飓风信号。此为 2023 年超强台风苏拉影响香港的真实风速数据。
第二组样例中,只有 3 3 3 个气象观测站的持续风力达到或超过 41 41 41 千米/小时,因此只符合 1 1 1 号戒备信号的标准。此为 2023 年强台风小犬影响香港的真实风速数据。
第三组样例中,恰好有 4 4 4 个(第 1 , 2 , 3 , 5 1,2,3,5 1,2,3,5 个)气象观测站的持续风力达到或超过 63 63 63 千米/小时,因此符合 8 8 8 号烈风信号的标准。此为 2008 年台风鹦鹉登陆香港的真实风速数据。
【数据范围】
对于所有风速观测数据 x x x,满足 1 ≤ x ≤ 300 1 \leq x \leq 300 1≤x≤300。
代码内容
// #include <iostream>
// #include <algorithm>
// #include <cstring>
// #include <stack>//栈
// #include <deque>//队列
// #include <queue>//堆/优先队列
// #include <map>//映射
// #include <unordered_map>//哈希表
// #include <vector>//容器,存数组的数,表数组的长度
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a[8];
int main()
{
int x,y,z;
x=y=z=0;
for(ll i=0;i<8;i++)
{
cin>>a[i];
if(a[i]>=41) x++;
if(a[i]>=63) y++;
if(a[i]>=118) z++;
}
if(z>=1)
cout<<10<<endl;
else if(y>=4)
cout<<8<<endl;
else if(x>=4)
cout<<3<<endl;
else
cout<<1<<endl;
return 0;
}