描述

蜡烛商店中有10种蜡烛,形状分别是0~9这10个数字,不过对于每种蜡烛,商店的存货量仅有一根。另外,忘川沧月已经有了一个"+"形状的蜡烛。
忘川沧月想购买一些蜡烛,使得他的家族中所有人的年龄都可以用他购买的数字和"+"表示出来。
例如12就有11种表示方法:12、0+12、2+10、3+9、4+8、5+7、7+5、8+4、9+3、10+2、12+0。注意6+6、1+11、11+1是不行的,因为每种蜡烛仅有一根。
但是由于这种蜡烛很贵,忘川沧月想购买尽量少的蜡烛来达到他的目的,你能帮帮他吗?
题解:
出题人说是送分题。。。
感觉写起来很麻烦就没有写,看了标程发现也很简单。。。
lyd:
2^10枚举选了每种选取蜡烛的情况,四次方暴力枚举数字的组合情况,存到一个v[1024][101]的数组里记录能组成哪些年龄即可。

注意到有10000组数据,预处理一下v数组就毫无鸭梨了~~~

代码:

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
bool v[][];
int a[],b[],ans,n,i,j,k,t,x,y;
long long c[],temp; int main()
{
for(i=;i<;i++)
{
for(j=;j>=;j--)
if(i>>j&) b[i]++,c[i]=c[i]*+j;
for(j=;j<;j++)
if(i>>j&) v[i][j]=;
for(j=;j<;j++)
for(k=;k<;k++)
if(j!=k&&(i>>j&)&&(i>>k&)) v[i][j*+k]=v[i][j+k]=;
for(j=;j<;j++) if(i>>j&)
for(k=;k<;k++) if(j!=k&&(i>>k&))
for(x=;x<;x++) if(x!=j&&x!=k&&(i>>x&))
{
if(j*+k+x<=) v[i][j*+k+x]=;
for(y=;y<;y++) if(y!=j&&y!=k&&y!=x&&(i>>y&))
if(j*+k+x*+y<=) v[i][j*+k+x*+y]=;
}
}
while(~scanf("%d",&n)&&n)
{
ans=;
for(i=;i<=n;i++) scanf("%d",&a[i]);
for(i=;i<;i++)
{
for(j=;j<=n;j++) if(!v[i][a[j]]) break;
if(j>n&&b[i]<ans||b[i]==ans&&c[i]<temp) ans=b[i],temp=c[i];
}
printf("Case %d: %lld\n",++t,temp);
}
return ;
}

「Poetize6」Candle的更多相关文章

  1. 「译」JUnit 5 系列:条件测试

    原文地址:http://blog.codefx.org/libraries/junit-5-conditions/ 原文日期:08, May, 2016 译文首发:Linesh 的博客:「译」JUni ...

  2. 「译」JUnit 5 系列:扩展模型(Extension Model)

    原文地址:http://blog.codefx.org/design/architecture/junit-5-extension-model/ 原文日期:11, Apr, 2016 译文首发:Lin ...

  3. JavaScript OOP 之「创建对象」

    工厂模式 工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程.工厂模式虽然解决了创建多个相似对象的问题,但却没有解决对象识别的问题. function createPers ...

  4. 「C++」理解智能指针

    维基百科上面对于「智能指针」是这样描述的: 智能指针(英语:Smart pointer)是一种抽象的数据类型.在程序设计中,它通常是经由类型模板(class template)来实做,借由模板(tem ...

  5. 「JavaScript」四种跨域方式详解

    超详细并且带 Demo 的 JavaScript 跨域指南来了! 本文基于你了解 JavaScript 的同源策略,并且了解使用跨域跨域的理由. 1. JSONP 首先要介绍的跨域方法必然是 JSON ...

  6. 「2014-5-31」Z-Stack - Modification of Zigbee Device Object for better network access management

    写一份赏心悦目的工程文档,是很困难的事情.若想写得完善,不仅得用对工具(use the right tools),注重文笔,还得投入大把时间,真心是一件难度颇高的事情.但,若是真写好了,也是善莫大焉: ...

  7. 「2014-3-18」multi-pattern string match using aho-corasick

    我是擅(倾)长(向)把一篇文章写成杂文的.毕竟,写博客记录生活点滴,比不得发 paper,要求字斟句酌八股结构到位:风格偏杂文一点,也是没人拒稿的.这么说来,arxiv 就好比是 paper 世界的博 ...

  8. 「2014-3-17」C pointer again …

    记录一个比较基础的东东-- C 语言的指针,一直让人又爱又恨,爱它的人觉得它既灵活又强大,恨它的人觉得它太过于灵活太过于强大以至于容易将人绕晕.最早接触 C 语言,还是在刚进入大学的时候,算起来有好些 ...

  9. 「2014-3-13」Javascript Engine, Java VM, Python interpreter, PyPy – a glance

    提要: url anchor (ajax) => javascript engine (1~4 articles) => java VM vs. python interpreter =& ...

随机推荐

  1. 使用AVCaptureSession显示相机预览

    #import <UIKit/UIKit.h> #import <AVFoundation/AVFoundation.h> @interface ViewController ...

  2. 使用WebSocket构建实时WEB

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3795075.html ...

  3. ASP.NET Boilerplate 邮件类使用

    在系统我们自定一个 MySettingProvider,并添加到配置集合中,定义一些邮件参数覆盖默认参数,然后通过IOC容器得到SmtpEmailSender实例,调用send方法就实现了,实现代码如 ...

  4. PHP 解决时差8小时的问题

    有时候用php echo date("Y-m-d H:i:s")的时候会发现自己的时间和系统时间有差别 这里问题一般就是因为你自己的时区和配置的时区出现了差别的原因: 解决办法有三 ...

  5. C# 二叉查找树实现

    BuildTree 代码1次CODE完,没有BUG. 在画图地方debug了很多次.第一次画这种图. 一开始用treeview显示,但发现不是很好看出树结构,于是自己动手画了出来. using Sys ...

  6. ftp不能上传解决办法

    自己的服务器,然后我分好ftp,有一天,有个客户要传东西,发现怎么也传不上,但是可以下载,,,,弄了半天,目录权限也是完全访问,但还是不行,原来是serv-u分配的空间小了啊,所以只能下载不能上传.. ...

  7. C#线程池ThreadPool.QueueUserWorkItem接收线程执行的方法返回值

    最近在项目中需要用到多线程,考虑了一番,选择了ThreadPool,我的需求是要拿到线程执行方法的返回值, 但是ThreadPool.QueueUserWorkItem的回调方法默认是没有返回值的,搜 ...

  8. healthkit 记录每天用户的运动情况

    //详细操作步骤 http://www.csdn.net/article/2015-01-23/2823686-healthkit-tutorial-with-swift //官方api https: ...

  9. removing right click context menu options on recycle bin

    Humpty is correct as always  First you might want to make a backup of the reg key then remove the Wa ...

  10. SQL2012之FileTable与C#的联合应用

    关于FileTable是什么,请猛击如下链接:http://technet.microsoft.com/zh-cn/library/ff929144(v=SQL.110).aspx:如您已知道,请跳过 ...