第八届蓝桥杯JavaB组省赛

第一题:购物单

小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。

这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的。 
小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。 
现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。

取款机只能提供100元面额的纸币。小明想尽可能少取些现金,够用就行了。 
你的任务是计算出,小明最少需要取多少现金。 
以下是让人头疼的购物单,为了保护隐私,物品名称被隐藏了。 
——————–’ 
** 180.90 88折 
** 10.25 65折 
** 56.14 9折 
** 104.65 9折 
** 100.30 88折 
** 297.15 半价 
** 26.75 65折 
** 130.62 半价 
** 240.28 58折 
** 270.62 8折 
** 115.87 88折 
** 247.34 95折 
** 73.21 9折 
** 101.00 半价 
** 79.54 半价 
** 278.44 7折 
** 199.26 半价 
** 12.97 9折 
** 166.30 78折 
** 125.50 58折 
** 84.98 9折 
** 113.35 68折 
** 166.57 半价 
** 42.56 9折 
** 81.90 95折 
** 131.78 8折 
** 255.89 78折 
** 109.17 9折 
** 146.69 68折 
** 139.33 65折 
** 141.16 78折 
** 154.74 8折 
** 59.42 8折 
** 85.44 68折 
** 293.70 88折 
** 261.79 65折 
** 11.30 88折 
** 268.27 58折 
** 128.29 88折 
** 251.03 8折 
** 208.39 75折 
** 128.88 75折 
** 62.06 9折 
** 225.87 75折 
** 12.89 75折 
** 34.28 75折 
** 62.16 58折 
** 129.12 半价 
** 218.37 半价 
** 289.69 8折 
——————–’

需要说明的是,88折指的是按标价的88%计算,而8折是按80%计算,余者类推。 
特别地,半价是按50%计算。

请提交小明要从取款机上提取的金额,单位是元。 
答案是一个整数,类似4300的样子,结尾必然是00,不要填写任何多余的内容。

建个数组,一个一个加起来的TT,看有的是用Excel做的。

第二题:纸牌三角形

A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算)。要求每个边的和相等。 
下图就是一种排法(如有对齐问题,参看p1.png)。

          A
         9 6
        4   8
       3 7 5 2

这样的排法可能会有很多。

如果考虑旋转、镜像后相同的算同一种,一共有多少种不同的排法呢?

请你计算并提交该数字。

注意:需要提交的是一个整数,不要提交任何多余内容。

#include <iostream>
#include <algorithm>
using namespace std;
int main(int argc, char const *argv[])
{
	int ans=0;
	int a[]={1,2,3,4,5,6,7,8,9};
	do{
		int q=a[0]+a[1]+a[2]+a[3];
		int p=a[3]+a[4]+a[5]+a[6];
		int m=a[6]+a[7]+a[8]+a[0];
		if(q!=p||q!=m||m!=p)
			continue;
		ans++;
	}while(next_permutation(a,a+9));
	ans/=3;//去掉旋转 
	ans/=2;//去掉对称
	cout<<ans<<endl;

	return 0;
}
答案 :144

推荐用 c++ 的nex_permatution 每台机器上都有 dev-c  和eclipse for java
 



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值