您的位置:首页 > 其它

ZJUT1099 最少拦截系统

2011-02-15 18:25 295 查看
Problem Address:http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1099

没想到越来越顺手= =之前一直看别人做这道题,自己却没什么idea。

没想到今天写了一下,只测试了几组数据,连修改都没有就一次AC,而且Time=9Ms,Memory=208K。

值得庆幸一下~

不过还是要继续努力。

昨天订的算法导论没想到今天就到手了,很是快。赞一下~

之后还要好好加油啊!

这道题的AC率不高,可能少考虑到的因素就是每次的高度都应该给一个最适合的系统(即大于这个高度的最小的数),这样才不会错误。

简单的算法就是把每一个数分给最适合的系统,如果不存在这样的系统(即这个数大于任何系统)则得增加一个系统。

本来打算不用STL,不过想想用STL排一下序方便多了,便用了= =惭愧一下。

以下贴代码:

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int>v;
int n,i,j,x;
while(scanf("%d", &n)!=EOF)
{
v.clear();
for (i=0; i<n; i++)
{
scanf("%d", &x);
sort(v.begin(), v.end());
for (j=0; j<v.size(); j++)
{
if (x<=v[j]) break;
}
if (j!=v.size())
{
v[j] = x;
}
else
{
v.push_back(x);
}
}
printf("%d/n", v.size());
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: