POJ3069---Saruman's Army()
2017-11-17 16:01
393 查看
标准的贪心策略。从左往右依次扫描,尽可能地使一次安装尽可能多地覆盖!
#include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> using namespace std; int a[1005]; int main() { int r,n; while (cin >> r >> n, r != -1 && n != -1) { for (int i = 0; i < n; i++) cin >> a[i]; sort(a, a + n); int i = 0, ans = 0; while (i < n) { int s = a[i++];//x代表没有覆盖的最左边的点。 while (i < n&&a[i] <= s + r)i++; int p = a[i - 1];//p为s位置能扫描到的最右边的点,也就是安装点。实际上是反向扫描。 while (i < n&&a[i] <= p + r)i++;//刚安装的能扫描的最右端。 ans++; //一次循环安装一个。 } cout << ans << endl; } }
相关文章推荐
- poj3069 Saruman's Army
- POJ3069 Saruman's Army
- poj3069 Saruman's Army(经典贪心)
- POJ3069 Saruman's Army
- POJ3069 Saruman's Army
- poj3069 Saruman's Army 贪心
- POJ3069 Saruman's Army
- POJ3069-Saruman`s Army
- Cpp环境【POJ3069】【Vijos2995】 萨鲁曼的大军 Saruman's Army
- poj3069 Saruman's Army
- poj3069 Saruman's Army(贪心,水)
- POJ3069 Saruman's Army
- poj3069Saruman's Army
- POJ3069 Saruman's Army【贪心】
- POJ3069-贪心-Saruman's Army
- POJ3069 Saruman's Army(贪心)
- poj3069 Saruman's Army 贪心
- POJ 3069 Saruman's Army
- 编程算法 - 萨鲁曼的军队(Saruman's Army) 代码(C)
- POJ 3069 Saruman's Army 贪心