我又来发题解了!
2024-02-09 23:48:35
发布于:广东
41阅读
0回复
0点赞
我们先看看题,他说每一条龙都有自己的血量和经验值,那么尘埃就打算用结构体去存储。
struct ren{
int hp;
int jy;
}a[10086];
搞定这些以后,我们把我们能想到的先写出来:
int main(){
int t,s,n;
bool qp=0;
cin>>t;
for(int i=0;i<t;i++){
cin>>s>>n;
for(int j=0;j<n;j++){
cin>>a[j].hp>>a[j].jy;
}
return 0;
}
然后我们想想,想必大家都看过这种广告吧,广告里的人总是去砍高级怪,然后就嘎了。
所以,我们的最优方案应该是从血量最低的怪开始砍,尘埃打算用快速排序嘛,所以肯定要写函数啦
bool liu(ren aa,ren bb){
if(aa.hp!=bb.hp) return aa.hp<bb.hp;
else return aa.jy>bb.jy;
}
然后我们就要去砍怪了!我们先判断我们的力量值是否在怪之上,如果是,我们就升级,否则直接送走(╯‵□′)╯︵┻━┻
就这样,我们的代码就这样完成了...
#include <bits/stdc++.h>
using namespace std;
struct ren{
int hp;
int jy;
}a[10086];
bool liu(ren aa,ren bb){
if(aa.hp!=bb.hp) return aa.hp<bb.hp;
else return aa.jy>bb.jy;
}
int main(){
int t,s,n;
bool qp=0;
cin>>t;
for(int i=0;i<t;i++){
cin>>s>>n;
for(int j=0;j<n;j++){
cin>>a[j].hp>>a[j].jy;
}
sort(a,a+n,liu);
for(int j=0;j<n;j++){
if(s>a[j].hp) s+=a[j].jy;
else{
cout<<"NO";
qp=1;
break;
}
}
if(qp==0) cout<<"YES";
cout<<endl;
qp=0;
}
return 0;
}
孩子真的很需要您的一个赞啊!!!
谢谢观看!
全部评论 1
给我管理员
2024-08-01 来自 广东
0
有帮助,赞一个