题目描述

Perket 是一种流行的美食。为了做好 Perket,厨师必须谨慎选择食材,以在保持传统风味的同时尽可能获得最全面的味道。你有 nn 种可支配的配料。对于每一种配料,我们知道它们各自的酸度 ss 和苦度 bb。当我们添加配料时,总的酸度为每一种配料的酸度总乘积;总的苦度为每一种配料的苦度的总和。

众所周知,美食应该做到口感适中,所以我们希望选取配料,以使得酸度和苦度的绝对差最小。

另外,我们必须添加至少一种配料,因为没有任何食物以水为配料的。

输入格式

第一行一个整数 nn,表示可供选用的食材种类数。

接下来 nn 行,每行 22 个整数 s_isi​ 和 b_ibi​,表示第 ii 种食材的酸度和苦度。

输出格式

一行一个整数,表示可能的总酸度和总苦度的最小绝对差。

输入输出样例

输入 #1复制

1
3 10

输出 #1复制

7

输入 #2复制

2
3 8
5 8

输出 #2复制

1

输入 #3复制

4
1 7
2 6
3 8
4 9

输出 #3复制

1

说明/提示

数据规模与约定

对于 100\%100% 的数据,有 1 \leq n \leq 101≤n≤10,且将所有可用食材全部使用产生的总酸度和总苦度小于 1 \times 10^91×109,酸度和苦度不同时为 11 和 00。

说明

  • 本题满分 7070 分。

1.这个依旧是一个dfs问题。

2.我们需要选择到所有的结果,那我们就只往后面寻找。从前面所给的,我们永远只往后面寻找。

3.往后dfs需要注意的一个问题是递归的参数要是当前的i,不然会产生很多重复的,而且AC会卡在40.

4.min的值必须是最大值,酸的初值要是1,苦的初值要是0。

代码如下:

#include<stdio.h>
#include<math.h>
int min=2147483647;
int sour[15],bit[15];
int dfs(int step,int n,int s1,int s2)
{if(step==n){return 0;}int i,ts1,ts2;for(i=step;i<n;i++){ts1=s1*sour[i];ts2=s2+bit[i];if(min>abs(ts1-ts2)) min=abs(ts1-ts2);//printf("%d--%d\n",i,abs(ts1-ts2));dfs(i+1,n,ts1,ts2);}
}
int main()
{int t,i;scanf("%d",&t);for(i=0;i<t;i++){scanf("%d%d",&sour[i],&bit[i]);}dfs(0,t,1,0);printf("%d\n",min);return 0;
}

[COCI2008-2009#2] PERKET相关推荐

  1. 全国计算机建模三等奖,2009年全国数学建模真题(论文获国家 三等奖).doc

    2009年全国数学建模真题(论文获国家 三等奖) 制动器试验台的控制方法分析 摘要 制动器的作用在于使行驶减速或者停止,其设计是车辆设计中最重要的环节之一,直接影响着人身和车辆的安全.本文分析了制动器 ...

  2. 2009年国内十强开源CMS排行榜[转]

    近十年来,中国互联网的发展有目共睹,网民数量更是超越美国成为世界第一,在中国互联网的发展历程中,一直以来默默地为中国站长提供动力的CMS厂商作出的贡献尤其巨大,而与之成反比的是CMS厂商的生存状态依然 ...

  3. August 14, 2009 - Choice

    转载于:https://www.cnblogs.com/gieno/archive/2009/08/14/1546232.html

  4. 接口学习笔记(2009.11.24)

    了解接口,主要是为了一道经典面试题:接口与抽象类的区别,对接口的理解却很少,现在学习一下. 接口只包含方法.属性.事件或索引器的签名.成员的实现是在实现接口的类或结构中完成的. Interface n ...

  5. Dynamics AX 2009 升级PreSynchnoize时的无反应的解决

    问题: 安装完升级补丁后在Data upgrade cockpit窗口点击Run或Train Run按钮后Update Job没有开始,始终显示为Ready状态. #1 原因:数据库以前已经做过升级( ...

  6. installshield 2009实现安装包自动编译

    1.根据当前日期,在服务器上建立一个以日期命名的文件夹,删除本地现有的文件夹并下载最新的文件到本地 call mydate %DATE% Rem Copy files from common fold ...

  7. 金山词霸2009牛津版

    http://download.iciba.com/Pw2009_oxf/Powerword2009Oxf.25269.4011.exe 新版本的词霸2009牛津版的  需要的朋友下载看看 转载于:h ...

  8. 2009 Competition Highlights by ICPC Live

    2009 Competition Highlights by ICPC Live Links:http://www.youtube.com/watch?v=n0oZRcAz6w0 转载于:https: ...

  9. 回顾2009,展望2010。

    回顾2009,展望2010. 2009即将过去,总结2009年,计划2010年. 2009年12月31日. 转载于:https://www.cnblogs.com/finehappy/archive/ ...

  10. 与我们的书合影——在2009北京国际图书展(BIBF)

    2009年9月5日,武汉博文编辑许莹.夏青观看了于国展旧馆(静安庄)举行的2009北京国际图书展(BIBF)"专业场".在电子工业出版社展台,编辑兴奋地与我们的几本畅销书(< ...

最新文章

  1. Jetson Xavier(Ubuntu18.04)安装固态硬盘并挂载到/home区下
  2. 【CoppeliaSim】使用 Lua 语言控制四旋翼无人机运行
  3. 自嗨锅要持续嗨,还得碾碎这四个“绊脚石”
  4. pythondocx文档重叠_使用PYTHON实现docx文档的读写
  5. 苏宁大数据怎么运营_运营商大数据精准获客
  6. 修炼一名软件工程师的职业水准
  7. 共享变量 tensorflow解读
  8. 实战:采⽤Sharding-JDBC实现订单表的(两主四从) 分库分表 和 读写分离
  9. c语言去掉数组中重复的,C语言删除无序整型数组中的重复元素及时间复杂度
  10. 【Hadoop】the short-cricuit local reads feature cannnot be use because UNIX Domain sockets are not ava
  11. Rainbond 5.0正式发布, 支持对接管理已有Kubernetes集群...
  12. (翻译)UIP Application Block学习系列(三)UIP概念
  13. JDBC学习(一、概述)
  14. 利用Mapinfo工具转地图数据
  15. 【Python 爬虫 CASE】使用新榜API获取数据
  16. python实现一元二次方程求解_Python实现求解一元二次方程的方法示例
  17. 东南大学计算机科学沈桥,走进东南大学,金中学子要做“未来卓越工程师”!...
  18. 分享一个好用的屏幕截取动图的工具
  19. 五子棋对战——重点实现
  20. 数据库备份还原与分离附加

热门文章

  1. 想按最低税率3%缴纳个税,月薪和年终奖最高多少最为合适?
  2. Xcode4.6发布了
  3. 杭电网安复试上机编程题
  4. windows tcp端口映射或端口转发
  5. TL431工作原理、经典应用电路、输出产生真的的原因分析
  6. 互联网赚钱:普通人月入上万的秘密,连载4
  7. 深度技术 GHOST XP SP3 快速装机专业版 V2013.03
  8. java面试题2020抢先看,够全
  9. iphone换android系统更新不了,苹果支持安卓以旧换新,却被批心不诚,你会用安卓换苹果吗?...
  10. SpaceX十年磨一剑