每日一题之储存晶体
问题描述
威慑纪元 2230 年,人类联邦在与三体文明的对抗中,为了强化飞船的能源储备,决定收集能量晶体。飞船的储存空间呈矩形,边长分别为 a 和 b。对于一个能量晶体,只有当它的长度小于或等于存储空间的对角线长度时,它才能被安全地放入飞船中。
现在,人类联邦总共收集了 n 个能量晶体。你的任务是判断每根能量晶体是否可以放入飞船。
输入格式
第一行包含两个整数 a 和 b(1≤b≤a≤103),表示飞船储存空间的长和宽。
接下来一行包含一个整数 n(1≤n≤103),表示能量晶体的数量。
再接下来 n 行,每行包含一个整数 c(1≤c≤104),表示每根能量晶体的长度。
输出格式
对于每根能量晶体,输出一行:
- 如果该晶体可以放入,输出
YES
。 - 如果该晶体不能放入,输出
NO
。
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
int main()
{
// 请在此输入您的代码
ll a,b;
cin>>a>>b;
ll n;
cin>>n;
ll temp=(ll)sqrt(a*a+b*b);
ll c;
for(int i=0;i<n;i++){
cin>>c;
if(c>temp){
cout<<"NO"<<endl;
}else{
cout<<"YES"<<endl;
}
}
return 0;
}
一道简单模拟题,注意输出格式和数据范围