hdu 1257 最少拦截系统(简单贪心)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1257
虽然分类是dp感觉还是贪心
比较水
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cstdlib> 5 #include <algorithm> 6 using namespace std; 7 const int maxn = 1000+10; 8 int d[maxn]; //d数组存储一套系统的目前的发射的最小的高度 9 10 int main() 11 { 12 int n, i, x, cou, j; 13 while(~scanf("%d", &n)) 14 { 15 cou = 0; 16 for(i = 1; i <= n; i++) 17 { 18 scanf("%d", &x); 19 sort(d, d+cou); //排序,先找最小的那一个 20 for(j = 0; j < cou; j++) 21 if(d[j]>x) 22 { 23 d[j] = x; 24 break; 25 } 26 if(j == cou) //如果目前所有系统都达不到高度,再造一个系统 27 d[cou++] = x; 28 } 29 cout<<cou<<endl; 30 } 31 return 0; 32 }