首页 > 代码库 > CodeForces230A
CodeForces230A
题目大意:
一个打恐龙的游戏,有初始体力s,和恐龙n只,然后输入n只恐龙的体力xi,和击杀它得到的奖励体力yi,只有自身体力大于恐龙体力时才能进行击杀,击杀恐龙的顺序可以不定
这题运用到了贪心的思想,因为击杀恐龙的顺序不定,击杀后通过奖励体力可以增加自身的体力以便来自己能够击杀更强大的恐龙。所以先对恐龙的顺序进行体力上从小到大排序。
代码如下:
1 #include <stdio.h> 2 #include<algorithm> 3 #include<stdlib.h> 4 5 void swap(int &a , int &b) 6 { 7 int temp=a; 8 a=b; 9 b=temp;10 }11 12 int main()13 {14 int s,n,judge=1;15 scanf("%d%d",&s,&n);16 17 int *x=new int[n];18 int *y=new int[n];19 20 for(int i=0;i<n;i++){21 scanf("%d%d",&x[i],&y[i]);22 }23 24 for(int i=0;i<n;i++)25 {26 int Min=x[i];27 int minIndex=i;28 for(int j=i;j<n;j++){29 if(x[j]<Min){30 Min=x[j];31 minIndex=j;32 }33 }34 swap(x[i],x[minIndex]);35 swap(y[i],y[minIndex]);36 }37 38 for(int i=0;i<n;i++){39 if(x[i]>=s){40 judge=0;41 break;42 }43 else s+=y[i];44 }45 46 if(judge==1) printf("YES");47 else printf("NO");48 49 return 0;50 51 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。