捆绑销售问题(完美版本)

最近超市要准备促销活动,为增加销量,超市决定将两种商品进行捆绑销售。现在需要你在已有的购物清单中找出来哪两种商品同时出现的次数最多

第一行输入一个数N(1<=N<=100),表示现有购物清单的数量;随后的N行分别输入每个客户购买的商品(商品数固定为5),商品用大写字母表示。
输出需要捆绑销售的两个商品。(按照ASCII码的升序进行排列)

最基础的写法(十分麻烦)
 

//PERFECT
//建立三维数组解决
//最基础解法,但较为复杂
int main() {
	int abc[10][26][26] = { 0 };
	int n;
	cin >> n;
	char s[10][5];
	for (int i = 0; i < n; i++) {
		cin >> s[i];
	}
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < 5; j++) {
			for (int h = 0; h < 26; h++) {
				abc[i][(int)(s[i][j] - 'A')][h]++;
			}
		}
		for (int j = 0; j < 5; j++) {
			for (int h = 0; h < 26; h++) {
				abc[i][h][(int)(s[i][j] - 'A')]++;
			}
		}
	}
	for (int i = 0; i < 5; i++) {
		for (int h = 0; h < 26; h++) {
			if (abc[i][h][h] > 2) {
				do {
					for (int j = 0; j < 5; j++) {
						for (int h = 0; h < 26; h++) {
							abc[i][(int)(s[i][j] - 'A')][h]--;
						}
					}
					for (int j = 0; j < 5; j++) {
						for (int h = 0; h < 26; h++) {
							abc[i][h][(int)(s[i][j] - 'A')]--;
						}
					}
				} while (abc[i][h][h] == 2);
			}
		}
	}
	int z[26][26] = { 0 };
		for (int i = 0; i < 26; i++) {
			for (int j = 0; j < 26; j++) {
				for (int h = 0; h < n; h++)
				{
					z[i][j] += abc[h][i][j];
				}
			}
		}
		for (int i = 0; i < 26; i++) {
			z[i][i] = 0;
		}
		int maxi=0, maxj=0;
		for (int i = 0; i < 26; i++) {
			for (int j = 0; j < 26; j++) {
				if (z[i][j] > z[maxi][maxj]) {
					maxi = i; maxj = j;
				}
			}
		}int temp;
			if (maxi > maxj) {
				temp = maxi;
				maxi = maxj;
				maxj = temp;
			}
			cout << (char)(maxi + 'A') <<(char)( maxj + 'A');
}

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
下载后请用好压软件解压。 来源于网络,如果损害正版的利益,请告知,立马删除! 经典的古董。请各位下载用于学习,支持正版! 产品特点 后 台: 1. 完备的商业管理系统功能 后台管理系统包括了各种商业管理情况下的应有功能及辅助功能。 2 简明的业务流程,灵活的操作方式 工作流程简明清晰,易于理解,操作简便。同时提供多种操作途径,业务操作既可在系统菜单中完成,也可流程图中完成。 3. 丰富的报表功能,多样的图形显示方式 系统提供丰富的图形报表功能,简明、直观地体现销售业务状况,供经营管理者查询分析各种因素下经营业绩状况,以便决策者及时做出业务加强及调整。可以以线形图、区域图、饼形图、直方图等图形方式(二维,三维等方式)显示统计数据,用户可设置图形显示效果。 4. 功能强大的销售数据分析能力 对于大量的销售数据,系统做出各种情况下的统计分析,并可灵活设置用户设定的日期区间,提供动态分析数据功能,反映各种商品的同期数据分析,及商品的滞销及畅销情况;反映收银员的销售业绩,了解商品的销售情况以及客流量动态信息;产生各种销售日报表,销售月报表。 5. 前台POS系统实时监控功能 系统通过数据通信手段回收各收银点的销售数据,实时对POS前台进行管理,以直观的图形方式实时地监控前台销售情况。 6. 安全可靠的系统管理和权限控制 系统用户分为系统管理员和一般操作员,系统管理员可对不同的一般操作员授予不同的密码和权限,使得各操作员不能操作其不应操作的特殊功能,以保证操作员在各自的权限范围内操作,达到保证系统安全的功能。 7. 灵活的反结账功能 反结账是在后台管理系统中日销售结账后,因特殊原因,可将日结账数据重新设为 未结账状态,可重新日结。 8. 完善的会员管理体系 会员既可以实行累计积分,分级别打折刺激消费,也可实行会员价格,应用会员价格吸引客户。系统还可记录会员消费明细,辅助分析会员消费喜好及习惯。 9. 财务核算功能: 可计算含税、不含税购进、销售、库存成本,盘点盈亏分析。 10. 客流量分析、销售排名分析 11. 与百威3000XP连锁配送系统无缝集成 系统可以与百威连锁配送管理系统无缝集成,通过互联网形成连锁配送供应链管理系统,将配送管理延伸到收款机。对于大中型连锁销售企业,实现各个分部(连锁分店)既可单独管理各自的库存和销售,并根据自身的业务进行分析处理;总公司又能随时监控各个分部(连锁分店)的业务状况并生成相关分析报表。 前 台: 1. 支持多种硬件设备,如红外线、激光条码扫描器输入、钱箱连接、票据打印机逐行高速.打印、顾客显示屏连接、电子秤条码输入、IC卡阅读器输入、刷卡机、盘点机等多种外围设备。 2. 支持多种输入方式:键盘仿真条码扫描,手工输入方式以及串口激光平台输入方式。 3. 支持全键盘操作,无需鼠标、键盘来回调换,简单易用。 4. 提供多种小票打印格式,提供逐行高速打印和逐张打印,当打印机缺纸时,换纸后可补打上一张小票,小票可以进行设置输入自定义内容打印 5. 支持多币种多收款方式如现金、银行信用卡、银行储蓄卡、购物券、储值卡等多种收款方式,并且一张销售小票可以采用多种收款方式。 6. 系统提供按数量打折、按时段打折(如:节假日设定促销价)、按限量促销价、捆绑销售、买一送一、买多送一、买多送多、会员价、会员折扣优惠、消费积分、购物券优惠、整单或单项货品折扣优惠等多种促销方式;支持单品折扣,合计折扣,会员折扣,自动折扣等多种折扣方式。 7. 实时连接后台/分时数据传输;实时的POS系统前台监控功能。 8. 前台、后台均可抵挡和处理各种异常操作(如:非法关机、断电),在后台出现服务器故障或网络故障,支持前台POS机脱网单机收款等。 9. 支持自动配件检测及收款机清机功能,并对系统数据能够自动修复,并对系统数据能够自动修复。 10. 支持助记码输入、支持零售挂帐、零售退货处理、支持赠品业务、支持零售记录的修改删除、收款员删除查询、收款员的出入款查询、锁机解锁操作、不同的收款台对应不同的商品资料。 11. 支持合计后回退,单品取消,交易全清。 12. 钱箱控制,安全密码保护,并支持多种钱箱驱动模式。 13. 支持后台信息自动接收,随时更新商品资料、调价等信息。 14. 支持修改价格、修改扣率、修改数量、修改金额、抹零销售功能。 15. 系统支持多币种、多付款方式结算。 16. 支持正常价、会员价双重价格管理。 17. 收银报表多种输出方式:项目汇总,时报表,按收银员编号输出,历史报表等。历史报表输出:可任选任一历史日期打印收银报表数据。 18. 前后台自动同步更新信息(如商品调价、增删商品等),而无需重新登录系统,不影响前台销售。 19. 大小包装处理:大小包装商品同时销售,售价可以不同。自动库存管理。 20. 库存上下限:库存上限下限,可根据货商商品的类别自动生成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值