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 }

 

posted @ 2014-02-26 17:03  水门  阅读(172)  评论(0编辑  收藏  举报