题目:http://acm.hdu.edu.cn/showproblem.php?pid=2124

思路:贪心法.由于要求所需的块儿(block)的最小数目,先把所有的块儿加起来,看看大小是否>=缝隙L,如果不是,则输出impossible,如果可以,则先用最大的块儿填充,然后用更小的,直到缝隙补齐就停止.

C++代码如下

#include<iostream>
#include<algorithm>
using namespace std; bool cmp(int a,int b)
{
return a>b;
} int main()
{
int L,N;
while(cin>>L>>N)
{
int *A = new int[N];
int sum=0;
for(int i=0;i<N;i++)
{
cin >> A[i];
sum += A[i];
}
if(sum>=L)//可以填满
{
int result = 0;
sort(A,A+N,cmp);//排序 for(int i=0;i<N;i++)
{
if(L>A[i])
{
result ++;
L = L - A[i];
}
else
{
result ++;
//L = 0;这句话可以不要了
break;
}
//上面的for循环的循环体可以作如下简化
/*
if(L==0) break;
result ++;
L = L - std::min(L,A[i]);
*/
}
cout << result << endl;
}
else
cout << "impossible" << endl;
} return 0;
}

上述代码,提交可以通过.

最新文章

  1. DOS下命令符开启wifi无internet访问解决办法
  2. JAVA Day8
  3. ASCII码表(二进制 十进制 十六进制)
  4. 不同场景下 MySQL 的迁移方案
  5. Apache Spark源码走读之24 -- Sort-based Shuffle的设计与实现
  6. Metadata file &#39;xxx.dll&#39; could not be found 已解决
  7. ✡ leetcode 160. Intersection of Two Linked Lists 求两个链表的起始重复位置 --------- java
  8. Flink Program Guide (8) -- Working with State :Fault Tolerance(DataStream API编程指导 -- For Java)
  9. CSS的z-index(分层)
  10. JavaScript之再谈回调与闭包
  11. WCF引用方式
  12. 设计模式:Prototype 原型模式 - 同学你抄过别人的作业么?-clone()方法的使用
  13. ES6关于Unicode的相关扩展
  14. mysql_pconnect 问题
  15. Java高级框架——Mybatis(二)
  16. html页面调用js文件里的函数报错--&gt;方法名 is not defined处理方法
  17. maven 项目中没有src/test/java文件夹
  18. scala编程第15章
  19. mac下安装phalcon
  20. PHP对象的使用,什么时候可以用中括号[], 什么时候可以用箭头-&gt;

热门文章

  1. lintcode-110-最小路径和
  2. SQL 视图 局部变量 全局变量 条件语句 事务 触发器
  3. P1275 魔板
  4. SNMP OID Reference - NetScaler 10
  5. 01、BUCK电路的参数计算
  6. C++——继承时的this指针
  7. ionic2 手风琴效果
  8. 关于Maven项目install时出现No compiler is provided in this environment的处理
  9. github导入springboot maven项目
  10. POJ3349 Snowflake Snow Snowflakes (hash