大众比萨

编写程序实现比萨制作。需求说明编写程序,接收用户输入的信息,选择需要制作的比萨。可供选择的比萨有:培根比萨和海鲜比萨。 编写程序实现比萨制作。需求说明编写程序,接收用户输入的信息,选择需要制作的比萨。可供选择的比萨有:培根比萨和海鲜比萨。 实现思路及关键代码 1)分析培根比萨和海鲜比萨 2)定义比萨类 3)属性:名称、价格、大小 4)方法:展示 5)定义培根比萨和海鲜比萨继承自比萨类 6)定义比萨工厂类,根据输入信息产生具体的比萨对象。 运行效果如下图: 参考代码: public cla... 阅读详情
 
你准备为你和朋友订一个比萨,他们告诉你每个人希望比萨里有什么和没有什么材料。当然,他们也明白只有一个比萨,所以没有人期望他所以的要求都得到满足。你订一个比萨满足他们每个人至少一项的要求吗?
比萨店提供的比萨口味如下,你可以在一个比萨中要或者不要当中的任何一项:
代码
口味
A
凤尾鱼
B
黑橄榄
C
加拿大熏肉
D
方丁大蒜
E
浓奶酪
F
鲜花椰菜
G
青辣椒
H
火腿
I
意大利香肠
J
加拉佩诺胡椒
K
波兰熏肠
L
瘦牛肉
M
蘑菇
N
脱脂羊乳酪
O
洋葱
P
胡椒
 
你的朋友给你一行文字描述他们的比萨口味。例如:
+O-H+P;
意味这某位朋友将接受一个包含洋葱,或不包含火腿,或带有胡椒的比萨。而
-E-I-D+A+J;
表示某位朋友将接受一个不包含浓奶酪或意大利香肠或方丁大蒜的,或带有凤尾鱼或加拉佩诺胡椒的比萨。
输入格式:
每个要求一行,并以分号结束。直到“.”表示所有约束都已输入结束。
输出格式:
如果存在可分配的方案则先输出一个长度为10 的字符串“Toppings: ”,紧接输出分配方案(按字母顺序由小到大)。
如果不存在可分配的方案则输出:“No pizza can satisfy these requests.”
输入输出样例:
Simple input 1
Output for the input
+A+B+C+D-E-F-G-H;
-A-B+C+D-E-F+G+H;
-A+B-C+D-E+F-G+H;
.
Toppings:
 
Simple input 2
Output for the input
+A+B+C+D;
+E+F+F+H;
+A+B-G;
+O+J-F;
+H+I+C;
+P;
+O+M+L;
+M-L+P;
.
 
Toppings: CELP
 
Simple input 3
Output for the input
+A;
-A;
.
 
No pizza can satisfy these requests.
 
解:
本题有两种解法:第一种比较复杂:首先将每个人的口味约束表示乘析取式,如+A -B+C表示成(A | !b | C),接着将所有人的口味表示成合取式,如+A+B和+C -D表示成( A | B ) & (C | !D),在将合取式中所有的括号展开变成析取式,这时使任意析取式为真的表达式都是问题的解,如(A & B)| (C &!D) 表示当A、B同时取真,或者C取真D取假时都是问题的解。
第二种方法是使用搜索算法,穷举所有的可能性,直到找到解为止。
尽管这种方法没有第一种那么聪明,但是由于实现起来比第一种简单的多,所以在这里采用搜索算法更科学些。
使用搜索算法时还要注意的两个问题是:1、比萨约束的存储方式;2、如何判断比萨是否符合要求。
这里使用位运算来表示比萨的约束方式:定义一个整形数组want[ PERSONMAX],其中PERSONMAX表示朋友的个数,want[ i ]表示第i 为朋友想要的口味,例如:
want[ i ]=00000000000000000000000001000011 表示第i个朋友想要口味凤尾鱼、黑橄榄和青辣椒。注意由于整形有32位而pizza的口味只有16种,所以这里高16为无效。
同理,定义另一个整形数组hate[PERSONMAX],hate[i]表示第i位朋友不想要的口味,例如:
hate[ i ]=00000000000000000000000000001100 表示第i个朋友不想要的口味有:方丁大蒜和加拿大熏肉。
于是在表述pizza是否符合某人的口味是只要进行如下判断:
(pizza & want[ i ] >0) ||(!pizza & hate[ i ] >0)
这种表示方法充分利用了位运算的优点,使得程序的处理十分的方便,而且节省了空间.
 
代码:
 
 
#include<stdio.h>
#include
<string.h>
#include
<stdlib.h>
#include
<fcntl.h>
#include
<io.h>


#define TYPELEN 16    //比萨口味的种类数
#define PERSONMAX 30 //最多的朋友人数

int pizza,want[PERSONMAX],hate[PERSONMAX],person;
char buf[TYPELEN*2];

void
setup()
{
    
int count,i;
    count
=strlen(buf)-1;    //最后一个是分号,因舍去。
    memset(want+person,0,TYPELEN);    
    memset(hate
+person,0,TYPELEN);
    
for(i=1;i<count;i+=2)
        
if(buf[i-1]=='+')
            want[person]
=want[person]|(1<<(buf[i]-65));
        
else
            hate[person]
=hate[person]|(1<<(buf[i]-65));
    
++person;
}


bool 
checkPizza()
{
    
bool flag;
    
int i;
    
for(pizza=0;pizza<65536;pizza++){    //搜索所有的可能pizza取值,直到成功
        flag=true;
        
for(i=0;i<person;i++)
            
if(!((pizza&want[i])>0 || (!pizza&hate[i])>0)){
                flag
=false;
                
break;
            }

        
if(flag) return true;
    }

    
return false;
}

void
output(){
 int i;
 printf("Toppings: ");
 for(i=0;i<TYPELEN;i++)
  if(pizza&(1<<i)) putchar(i+65);
 puts("/0");
}

void
main(){
 person=0;
 while(1){
  scanf("%s",buf);
  if(buf[0]=='.') break;
  setup();
 }
 if(checkPizza()==true) output();
 else puts("No pizza can satisfy these requests."); 
}

 
 
编写程序实现披萨的制作 需求说明编写程序,接收输入信息,选择需要制作的披萨。可供选择的披萨有:培根披萨和海鲜披萨。 实现思路及关键代码 1)分析培根披萨和海鲜披萨。 2)定义披萨类(作为父类)。 属性: 名称、价格、大小; 方法:展示哦(show); 3)定义培根披萨和海鲜披萨,分别继承披萨类。 4)定义披萨工厂类,根据输入信息生产具体的披萨对象。 public class Pizza { //定义披萨类(作为父类)。属性: 名称、价格、大小; String pname="披萨"; double mon 阅读详情

相关推荐

编写程序实现比萨制作

需求说明编写程序,接收用户输入的信息,选择需要制作的比萨。可供选择的比萨有:培根比萨和海鲜比萨。 实现思路及关键代码 1) 分析培根比萨和海鲜比萨 2) 定义比萨类 3) 属性:名称、价格、大小 4) 方法:展示 5) 定义培根比萨和海鲜比萨继承自比萨类 6) 定义比萨工厂类,根据输入信息产生具体的比萨对象 public class Pizza { // 名称 private String n...

qq_45452698的博客 1749

编写程序实现披萨的制作。需求说明编写程序,接收输入信息,选择需要制作的披萨。可供选择的披萨有:培根披萨和海鲜披萨。

实现思路及关键代码 1)分析培根披萨和海鲜披萨。 2)定义披萨类(作为父类)。 属性: 名称、价格、大小; 方法:展示哦(show); 3)定义培根披萨和海鲜披萨,分别继承披萨类。 4)定义披萨工厂类,根据输入信息生产具体的披萨对象。 1,先创建父类PizzaInfo public class PizzaInfo { private String pizzaName; private String pizzaMony; private String pizzaSize...

weixin_62987371的博客 1184

通俗易懂的图解二叉搜索树、AVL树和红黑树

搜索是一种很常见的需求,当数据较多时,如何找到目标对象时,即需要搜索查找。 那么如何快速找到目标呢,最朴素的思想就是暴力查找,一个一个对比。 显然,当数据量增大时,我们需要优化查找方法获取更快的查找速度,我们可以通过维护一个有序数组,从而实现二分查找,查找速度从O(n)降为O(longn)。 但是数组并不便于插入和删除,链表便成为了最好的选择。 既然是采用二分查找,那么不如直接按照查找的步骤维护一种数据结构,于是二叉搜索树出现了。 二叉搜索树的性质为: 若左子树不为空,则左子树上所有节点值都小于根结点值;

暗色光的博客 758

c++吃豆人代码_童年回忆杀!40岁的“吃豆人”这次终于被“吃”了?

旁友,吃豆人听过伐?是的,就是那个曾经让无数少男少女魂牵梦萦,最经典的街机游戏之一......一张动图让你爷青回↓今年,吃豆人已经40周年了,它不仅是几代人共同的童年记忆,在游戏界也如常青树一样屹立不倒,成为一个#时代の眼泪#。不过这次!已到“不惑之年”的它,居然意外地跟了把风,做了个时尚弄潮儿,和比萨玛尚诺这食物界的“IP大佬”,进行了联名合作。也就是说......我们不仅能吃到美食,还能体验到...

weixin_42514783的博客 1836

微信小程序中蓝牙打印机中文编码处理:使用iconv-lite库

本文介绍了微信小程序集成蓝牙打印机时中文乱码问题的解决方案。由于打印机通常仅支持GBK/GB2312编码,而小程序使用UTF-8,导致中文显示异常。通过引入轻量级iconv-lite库进行编码转换,可高效解决该问题。文章详细说明了从库安装、编码转换到蓝牙发送的实现步骤,并提供了完整代码示例。关键注意事项包括编码验证、分段发送和兼容性测试。该方法经实际验证,能有效保障中文打印的准确性,适用于零售、物流等场景。

canglingyue的专栏 1309

基于FLUENT的圆柱绕流数值模拟与流场优化策略

本文详细介绍了基于FLUENT的圆柱绕流数值模拟方法与流场优化策略。从基础概念、建模技巧到湍流模型选择,全面解析了圆柱绕流模拟的关键技术,并提供了实用的网格划分和参数设置建议。通过具体案例展示了流动控制方法和优化流程,帮助工程师有效降低阻力系数,提升流场性能。

f6g7h8i9j的博客 705

比格比萨创始人赵志强被指“开黄腔”,官方回应:系部分网友误解,相关评论已在第一时间删除

知名危机公关专家、福州公孙策公关合伙人詹军豪对大公快消表示,创始人在公开社交平台的不当言论,会直接损耗比格比萨积累多年的大众品牌口碑,削弱投资者对企业治理规范性的信心,很可能给后续重启港股IPO的合规审核环节增添不必要的舆论与监管阻力。业绩方面,2023年、2024年及2025年前9个月,比格分别实现营业收入9.44亿元、11.47亿元、13.89亿元,期内利润分别为4752万元、4174万元、5165万元,净利润率分别为5.0%、3.6%及3.7%。“破戒”言论的源头,实则是一轮持续数日的顾客吐槽。

2608_96126756的博客 214

初识Classic AUTOSAR开发工具链

在过去,软件和硬件之间具有很强的耦合性,阻碍了软件组件在不同硬件平台上的可移植性和重用性。而AUTOSAR作为汽车电子行业的标准,提供标准的软件接口定义,工程师可以根据需求将软件组件分配到汽车的ECU中,实现标准软件组件的可重用性。

怿星科技的博客 8093

西餐大众化成为市场的领跑者

西餐大众化或许让一些人觉得它不够纯粹,妥协太多。对“绿茵阁”而言,它吸引的并非是一小部分追求正宗西餐的顾客,而是更广大的消费群体。林欣认为,“切入中档消费,是绿比萨宅急送茵阁成功的因素之一。” 要想成为市场的领跑者...

cnyek62419的博客 252

MQTT在智能家居中的实战:用Android手机控制ESP8266设备(基于EMQX)

本文详细介绍了如何利用MQTT协议构建一个完整的智能家居控制系统,通过Android手机App远程操控ESP8266设备。文章提供了从EMQX服务器部署、ESP8266端Arduino固件开发到Android客户端搭建的完整实战指南,并深入探讨了系统联调、稳定性优化与安全加固等关键环节,为物联网开发者提供了一套可复用的解决方案。

ujm567890的博客 457

从LLM到VLM再到VLA:三兄弟的“变形记”——定义、架构演进与最新趋同

LLM、VLM、VLA虽然在时间上依次出现,但它们在架构上的演进并非线性替代,而是形成了一个从“理解语言”到“理解世界”再到“改变世界”的认知闭环。VLA之所以能在短短三年内从概念走向现实,正是因为它站在了LLM和VLM的肩膀上——RT-2的泛化能力来自互联网规模的VLM预训练,π0的扩散策略受益于生成式模型的突破,Helix的双系统架构借鉴了“快慢思考”的认知科学洞见。而反过来,VLA在实际部署中遇到的效率瓶颈和实时性要求,也在倒逼LLM和VLM向更轻量、更高效的架构方向演进。

Ven%的博客 490

软文营销如何瞄准读者扩大品牌影响力进入大众视野

随着技术为营销创造了巨大的机会,软文营销逐渐进入大众视野,他们以文章加图片的形式出现在新闻媒体中,有着较强的传播性和信任度,在今天的文章中,178软文网小编将带你一起领略下软文营销的魔力,希望对你今后的营销道路有所帮助。 一、确定目标受众 最重要的一点是确定谁是目标受众,这是营销人员在制定持久的营销策略时要坚持的基本原则之一。通过确定目标受众,下一个问题应该是对任何新营销策略的期望。对一些人来说,这些原则几十年来一直保持不变,其中包括赚钱、学习新东西和从中获得乐趣。一个关键的软文营销目标是增加销售线索还是建

faruanwen的博客 241

24. SAP UI5 应用如何使用 OData 数据模型

本教程之前的二十三个步骤,使用的数据模型都是 JSON 模型。从本步骤开始,我们要学习另一种非常重要的数据模型:OData 数据模型。 OData 数据模型也是 SAP 产品里广泛使用的数据模型,比如 SAP S/4HANA,SAP CRM Fiori 应用等等,都使用的是 OData 数据模型而不是 JSON 数据模型。 使用 OData 数据模型的典型场景就是,通过 OData 模型提供的 Read API,将远端服务器上存储的数据通过 OData 协议读取到客户端,并显示在 SAP UI5 应用里。.

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 5797

馒头离奇的一生

从前,有一种胖得像包子一样的馒头。 见义勇为篇:一天,丸子正在过马路,一辆汽车飞驰而过,馒头奋不顾身地冲上去救丸子,结果,世界上多了一种食品 ——比萨。 浪漫篇:馒头爱上了香肠,他们发誓永不分离,于是世界上多了一种食品 ——热狗。 无辜篇:一天,馒头看见哥哥在和肉团、生菜打架,于是上去劝架,结果世界上多一种食品 ——汉堡包。 强壮篇:馒头觉得自己的身体不够强壮,于是每天坚持喝牛奶、吃鸡蛋,锻炼身体

rainbow097118的专栏 380

条件DDPM:Diffusion model的第三个巅峰之作

前言:DDPM从2020年诞生,短短一年的时间,模型上有两个巨大的改进,其中一个就是condition的引入,最近大部分DDPM相关的论文都会讨论这一点,有些文章称之为latent variable。和当年GAN的发展类似,CGAN和DCGAN的出现极大程度上促进了GAN的发扬光大,意义重大。本文基于前面几篇文章继续聊一聊: 从VAE到Diffusion Model_沉迷单车的追风少年-优快云博客 为什么diffusion model扩散模型可以称为score-based models?_沉迷单车的.

沉迷单车的追风少年 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

近期推荐文章

1. 测试碎碎念,吐槽无极限http://blog.csdn.net/fudax/article/details/8026076    2. 歪理斜说 ----我为什么做比萨及其他http://blog.sina.com.cn/s/blog_6540e1990101863n.html 这篇文章谈到了产业的变化,其实可以看到去年很火热的团购、电商、SNS到今年势头明显下降,美国IPO成功的也就Y...

weixin_34416754的博客 115

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

区块链研究实验室|比较两个革命性的网络:闪电网络和互联网世界

从亚里斯多德(公元前4世纪)到康德(公元18世纪)的几乎每一个认识论者都同意,我们通过对世界事物进行分类和比较来学习。苹果和橘子可以相比吗? 问题不是它们是否可以比较,而是我们可以从比较中学到什么。 即使闪电网络是人类的发明,我们对此仍然知之甚少。所需的LSP数量如何随用户数量变化?图的复杂度如何与网络的吞吐量相关?何时会大规模采用?基于比特币的闪电经济是什么样的?这项技术将如何改...

willam1的专栏 361

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

健康、环保都是包装,资本强塞的植物肉,能吃吗!

文|琥珀消研社 作者|王婷 猫都不吃的肉, 人吃了真的会好吗? 关晓彤在自己的vlog里吃了一盒水饺,并且特别介绍里面放的是植物肉,接着讲了一大堆植物肉的好处。 好家伙,这一年你在微博勤勤恳恳、真真切切地分享自己的健身减肥餐,每顿都有真肉,你的蔬菜三明治还出圈了,里面放的还是肉松和烤肠。我信你吃植物肉个鬼。 这不就是植入广告吗?植入广告到处都有,好的粉丝都会说,让ta恰。如果你是某某明星的粉丝,看过ta的vlog之后你愿意吃植物肉吗? 明星顿顿吃植物肉了吗?是真肉吃了就会死吗?是没有其他素食肉了吗?是人.

weixin_56670654的博客 258

游食记(1)

没事出来玩常常要在外面吃。网上虽然有介绍各个店的特色,但是毕竟每个人口味不同,所以还是想自己试一下的。 最近开始把自己吃过的比较名气的店记下来,写个游食记,以便日后回味。顺便发出来,给大家一个参考。 2009年7月25日                          巴贝拉 地点:张江传奇 服务:有人招呼,引坐。 菜品:意式快餐。主要有比萨饼、意大利面条、烧烤、甜品等。 ...

weixin_33994444的博客 134

python之if语句之旅3

if语句 1.使用if语句处理列表 通过结合使用if语句和列表,可以完成一些有趣的任务:对列表中特定的值做特殊处理;高效地管理不断变化的情形,如餐馆是否还有特定的食材;证明代码在各种情形下都将按预期那样运行 1>检查特殊元素 下面来举例说说关于如何检查列表中的特殊值,并对其做合适的处理。 那就继续使用前面的举例的披萨店吧,这家比萨店在制作比萨时,每添加一种配料都打印一条消息,通过创建一个列表...

爱骑行的小白 174

第一章 区块链已来,世界从此大不同

从小众到大众,区块链发展轨迹全揭秘当前技术发展日新月异,行业创新层出不穷。继大数据、云计算等新兴技术之后,区块链技术在全球范围内又掀起了新一 轮的研究热潮。区块链的出现实现了从传递信息的信息互联网向传递价值的价值互联网的进化,提供了一种新的信用创造机制。许多学者、专家认为区块链在未来很 有可能会成为推动经济、社会与生活变革的重要技术。因此,区块链技术吸引了包括重要经济体、大型科技公司、专业...

285

人类早期驯服野生自动驾驶汽车的珍贵史料

金磊 西风 发自 凹非寺量子位 | 公众号 QbitAI“从洛杉矶到拉斯维加斯,谁跑第一,谁就能获得100万美元奖金。”21年前,美国国防部高级研究计划局(DARPA)局长托尼·特瑟,在一次活动中现场宣布了这么一个决定,并将此命名为“DARPA大挑战赛”(DARPA Grand Challenge)。这场比赛着实有些特殊,甚至用前无古人来形容都不足为过——因为参赛的主角不是人,而是无人驾驶汽车。不...

量子位 483

软件行业的最后十年【ChatGPT】

在这篇文章中,我将说明像 ChatGPT 这样的生成式人工智能 (GAI) 将如何在十年内取代软件工程师。预测被离散化为 5 个阶段,总体轨迹趋向于完全接管。但首先,一个简短的前言。推荐:用快速搭建3D场景。

新缸中之脑 7万+

大数据时代,一个无比黑暗的时代

所有的讨论从一个笑话开始。讨论本身可能无意义,但是感觉这件事蛮有意思,那么记下来也就蛮有意义了。某必胜客店的电话铃响了,客服人员拿起电话。客服:必胜客。您好,请问有什么需要我为您服务?顾客:你好,我想要一份……客服:先生,烦请先把您的会员卡号告诉我。顾客:16846146***。客服:陈先生,您好!您是住在泉州路一号12楼1205室,您家电话是2646****,您公司电话是4666****,您的手...

weixin_30627381的博客 127

16世纪的旷世奇才:大学弃医丛数,仅用20年就独立发明了温度计、军事罗盘、天文望远镜,后半生双目失明还能写出惊人科学著作

全世界只有3.14 %的人关注了爆炸吧知识传说,在崇尚绝对权威的中世纪里,有这么一位敢于质疑权威的年轻人。在比萨斜塔上做了“两个铁球同时落地”的实验,得出了重量不同的两个铁球同时下落的...

数据与算法之美 1752
上一篇: 质多项式
下一篇: 数制转换
befun
博客等级 码龄20年 18粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值