标签:NPU content 其他 ios 因此 queue 高度 贪心思想 col
Input
输入若干组数据.每组数据包括:导弹总个数(正整数),导弹依此飞来的高度(雷达给出的高度数据是不大于30000的正整数,用空格分隔)
Output
对应每组数据输出拦截所有导弹最少要配备多少套这种导弹拦截系统.
Sample Input
8 389 207 155 300 299 170 158 65
Sample Output
2
贪心思想,每次操作的都是尽可能的不去浪费防御系统的高度。
有一条规则是确定的,就是如果后一枚导弹的高度比前一枚导弹要高的话,那么该套防御系统就不可用,需要部署一套新的或者放到其他的防御系统中去。需要注意的是,尽可能的不要浪费每套防御系统的高度。
类似于会场安排问题。
1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 #include<math.h> 5 #include<algorithm> 6 #include<queue> 7 #include<stack> 8 #include<deque> 9 #include<iostream> 10 using namespace std; 11 typedef long long LL; 12 int con[30009]; 13 int bulb[30009]; 14 int main() 15 { 16 int i,p,j,n,t; 17 while(scanf("%d",&n)!=EOF) 18 { 19 int num=0; 20 for(i=0;i<n;i++) 21 scanf("%d",&con[i]); 22 memset(bulb,0,sizeof(bulb)); 23 bulb[num]=con[0]; 24 for(i=1;i<n;i++) 25 { 26 for(j=0;j<=num;j++) 27 { 28 if(con[i]<=bulb[j]) 29 { 30 bulb[j]=con[i]; 31 break; 32 } 33 } 34 if(j>num) 35 bulb[++num]=con[i]; 36 } 37 printf("%d\n",num+1); 38 } 39 return 0; 40 }
标签:NPU content 其他 ios 因此 queue 高度 贪心思想 col
原文地址:https://www.cnblogs.com/daybreaking/p/9384335.html