P2036 [COCI2008-2009 #2] PERKET

2024-03-18 04:44
文章标签 2009 perket p2036 coci2008

本文主要是介绍P2036 [COCI2008-2009 #2] PERKET,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目描述

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

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

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

输入格式

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

接下来 �n 行,每行 22 个整数 ��si​ 和 ��bi​,表示第 �i 种食材的酸度和苦度。

输出格式

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

输入输出样例

输入 #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≤�≤101≤n≤10,且将所有可用食材全部使用产生的总酸度和总苦度小于 1×1091×109,酸度和苦度不同时为 11 和 00。

说明
  • 本题满分 70 分。
  • 题目译自 COCI2008-2009 CONTEST #2 PERKET,译者 @mnesia。

思路

因为每个调料只有选与不选两个状态,直接枚举所有状态就行,

1表示选这个调料,2表示不选,n个槽位全部填满,一共有2的n次方种选择方案。bfs的判断条件是当x大于n,也就是说n种调料的选与不选全部选好了,不要在dfs函数里面去枚举1到n;dfs里面枚举的应该是每种调料自身的选择,判断条件为当n种选完。return写在找到找到一种方案后。

#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#include<vector>
#include<math.h>
#include<iomanip>
#include<set>
#include<queue>
#include<stack> 
#include<map>
#include<list>
#include <stdlib.h>
#include<deque>
using namespace std;
int a[15], v[15], n, Min = 1000000;//a表示第几种调料,v存选不选调料
struct qw
{int s;//酸度int k;//苦度
}qq[15];
void dfs(int x)
{if (x > n){int sums = 1, sumk = 0;int f = 0;for (int i = 1; i <= n; i++){if (v[i] == 1){f = 1;sums = sums * qq[i].s;sumk = sumk + qq[i].k;}}if (f == 1)//必须要选至少一种调料{if (abs(sums - sumk) < Min){Min = abs(sums - sumk);}}return;}for (int i = 1; i < 3; i++)//遍历每种调料选与不选{v[x] = i;dfs(x + 1);v[x] = 0;}
}
int main()
{cin >> n;for (int i = 1; i <= n; i++){cin >> qq[i].s >> qq[i].k;}dfs(1);cout << Min;
}

这篇关于P2036 [COCI2008-2009 #2] PERKET的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/821214

相关文章

【系统架构设计师-2009年】综合知识-答案及详解

更多内容请见: 备考系统架构设计师-核心总结索引 文章目录 【第1题】【第2~4题】【第5题】【第6题】【第7~8题】【第9~10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20题】【第21题】【第22题】【第23题】【第24题】【第25~26题】【第27~28题】【第29~30题】【第31题】【第32~33题】

九度考研真题 浙大 2009-1浙大1031:xxx定律

//1031:xxx定律 #include<iostream> using namespace std; int main(){ int n; while(cin>>n&&n!=0){ int num=0; while(n!=1){ if(n%2==0){ n/=2; num++; } else{ n=3*n+1; n/

腾讯公司后台服务器经典面试题 (2009年5月)

转自http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=1484141&page=1 前些时间去了腾讯面试, 可惜现场没回答好。 是一些基础问题,同时也比较深入的问题。 在此列出来, 欢迎大家讨论交流。 提问(不按时间顺序): 1, 使用Linux epoll模型,水平触发模式(Level-Triggered);当socket可写

杭电 acm 2009

求数列的和 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 42988    Accepted Submission(s): 26574 Problem Description 数列的定义如

2009-CVPR - Image deblurring and denoising using color priors

项目地址:http://neelj.com/projects/twocolordeconvolution/ 没有代码=_= 微软研究院 非盲去模糊基于MAP超拉普拉斯先验+颜色先验 文章首先分析了Levin等人使用超拉普拉斯分布惩罚图像梯度(次线性惩罚函数),相比高斯分布更能建模自然图像0峰重尾梯度分布(the zero-peaked and heavy tailed gradient dis

2009年-2022年 地级市-环境污染处罚数据

环境污染处罚数据是环境保护领域中重要的信息资源,它记录了因违反环保法律法规而受到行政处罚或法律制裁的具体情况。这些数据对于提高公众的环保意识、促进企业采取环保措施以及推动环境治理具有重要作用。 数据内容概述 违法行为的主体:即受到处罚的个人或企业。违法事实:具体违反了哪些环保法律法规的行为。处罚依据:依据哪些法律法规进行处罚。处罚类型:如罚款、责令整改、停产整顿等。处罚金额:处罚的具体金额,通

软考-架构设计师-综合知识总结(试卷:2009~2022)(下篇)

说明     本文档对2009到2022年试卷的综合知识进行了归纳总结,同时对叶宏主编的《系统架构设计师教程》划分重点。 第十七章:通信系统架构设计 17.2 考题总结 第十八章:安全架构设计 18.1 重要知识点 18.2 考题总结 第十九章:大数据架构设计 19.1 重要知识点 第二十一章:软件法律安全知识 第二十

2009年总结学习

由于以前项目忙,很少对项目和技术做总结,更别说写技术博客,连上网都成了奢侈,我取名为圣殿骑士的目的 是希望能有骑士的精神并且最后走向圣殿。所以现在对2009应该总结的知识归类,最近正在人生转型,所以记录一下这些东西对以后有帮助同时也给自己指明道路。2009年应该是忙碌的一年,通过这一年应该把前些年的项目和工作经验都进行总结,提升为自己的储备知识。--(圣殿骑士) 第一:OO与设计模式 多

【数据分享】2009-2022年我国省份级别的轨道交通相关指标(20多项指标)

《中国城市建设统计年鉴》中细致地统计了我国城市市政公用设施建设与发展情况,在之前的文章中,我们分享过基于2006-2022年《中国城市建设统计年鉴》整理的2006—2022年我国省份级别的市政设施水平相关指标、2006-2022年我国省份级别的各类建设用地面积数据、2006-2022年我国省份级别的市政公用设施建设固定资产投资相关指标、2006-2022年我国省份级别的节约用水相关指标、2006-

【408真题】2009-27

“接”是针对题目进行必要的分析,比较简略; “化”是对题目中所涉及到的知识点进行详细解释; “发”是对此题型的解题套路总结,并结合历年真题或者典型例题进行运用。 涉及到的知识全部来源于王道各科教材(2025版) (408神功练成中… …) 文章目录 一、接:本题分析二、化:详细讲解三、发:套路总结 一、接:本题分析 2009-27 分析 【答】C 【解析】段号占8