第八届蓝桥杯JavaB组省赛

    xiaoxiao2021-04-13  44

    第一题:购物单

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

    这不,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  

    转载请注明原文地址: https://ju.6miu.com/read-669036.html

    最新回复(0)