描述

CS两位同学一起玩拼点游戏。有一堆白色卡牌和一堆蓝色卡牌,每张卡牌上写了一个整数点数。C随机抽取n张白色卡牌,S随机抽取n张蓝色卡牌,他们进行n回合拼点,每次两人各出一张卡牌,点数大者获得三颗巧克力,小者获得一颗巧克力,如果点数相同,每人各得二颗巧克力,使用过的卡牌不得重复使用。已知CS取到的卡牌点数,请编程计算S最多和最少能得到多少颗巧克力。

输入

输入包含多组测试数据。
每组测试数据的第一行是一个整数n(1<=n<=1000),接下来一行是n个整数,表示C抽到的白色卡牌的点数,下一行也是n个整数,表示S抽到的蓝色卡牌的点数。
输入的最后以一个0表示结束。

输出

对每组数据,输出一行,内容是两个整数用空格格开,分别表示S最多和最少可获得的巧克力数。

样例输入

3

92 83 71

95 87 74

2

20 20

20 20

2

20 19

22 18

0

样例输出

9 5

4 4

4 4

分析:

这道题目和田忌赛马问题极为类似本质思想都是如果我最好的比不过你就拿我的最差的比你最好的再拿我最好的比你其次好的

        (1)如果B的大点数牌能赢A的大点数牌,则进行比较,否则执行(2)
        (2)如果B的小点数牌能赢A的小点数牌,则进行比较,否则执行(3)
        (3)如果B的小点数牌能平A的大点数牌,则进行比较,否则执行(4)
        (4)B的小点数牌和A的大点数牌进行比较;

核心代码:

//拼点游戏(类似于田忌赛马)
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int c[1010];
int s[1010];
int solve(int *s,int *c,int n)
{int i=1;int j=1;int p=n;int q=n;int max=0;while(i<=p&&j<=q){if(s[p]>c[q])//如果s的大点数能比过c的大点数,就比 {max+=3;p--;q--;}else if(s[i]>c[j])//如果s的大点数比不过c的大点数,那就用s的小点数和c的小点数比较,能比过就比 {max+=3;i++;j++;}else if(s[i]==c[q])//如果以上都比不过,那就用s的小点数和c的大点数去比,能平的话就比 {max+=2;i++;q--;}else//如果既比不过,也无法拿s的小点数去平c的大点数,那就用s的小点数去消耗掉c的大点数 {max++;i++;q--;} }return max;
}
int main()
{int n;while(cin>>n&&n){memset(c,0,sizeof(c));memset(s,0,sizeof(s));int max=0;int min=0;for(int i=1;i<=n;i++)cin>>c[i];for(int i=1;i<=n;i++)cin>>s[i];sort(s+1,s+n+1);sort(c+1,c+n+1); max=solve(s,c,n);//找出s的最大值 min=4*n-solve(c,s,n);//每一局总分是4分,找出c的最大值,用总分减去c的最大值就是s的最小值 cout<<max<<" "<<min<<endl;}return 0;
}

拼点游戏(类似于田忌赛马)相关推荐

  1. Bailian4005 拼点游戏【贪心】

    4005:拼点游戏 总时间限制: 1000ms 内存限制: 65536kB 描述 C和S两位同学一起玩拼点游戏.有一堆白色卡牌和一堆蓝色卡牌,每张卡牌上写了一个整数点数.C随机抽取n张白色卡牌,S随机 ...

  2. C#的winform拼数字游戏

    C#的winform拼数字游戏 声明:阅读了别人的代码学习修改而来,增加了美观度和游戏乐趣.(作者出处忘了不好意思) 程序截图 关键代码 using System; using System.Coll ...

  3. 拼字游戏 html5,拼字游戏攻略

    拼字游戏是一款趣味性十足的游戏方式会让大家快乐的游戏.游戏十分益智.这款游戏风格独特,画面精美好看,音效逼真动听,操作简单易上手.相信你一定会喜欢的,如果你喜欢的话就加入我们吧,以下是关于这个游戏的一 ...

  4. 经典拼数字游戏NumPuzzle C# By Red_angelX

    NumPuzzle 设计说明书 背景 开发环境:Microsoft Visual Studio .Net 2003 开发语言:C# 开发者:Red_angelX 1 总体设计 设计思路:根据玩家设置的 ...

  5. 使用A* (AStar)算法自动求解拼数字游戏

    原文链接: 使用A* (AStar)算法自动求解拼数字游戏 上一篇: js Heap 的简单使用 下一篇: vue router 技巧 效果 主要思想 设置两个数组 close 保存已经走过的状态 o ...

  6. s2020gc53拼数游戏

    3. 拼数游戏 (c.cpp) [题目描述] 幼儿园的N名小朋友,每位小朋友手中都有一个非0数字,他们在玩自由组合的拼数游戏,可以拼数出很多很多种情况.为了考一考大家,现在老师提出要拼出一个最大的K位 ...

  7. FB社交游戏2011盘点:街机游戏、拼字游戏、博彩游戏排行前三

    2011年,Facebook上的游戏类型区域多样化,诸如寻宝游戏.赛车游戏.和即时多人战略游戏等游戏类型纷纷登陆Facebook.那么,今年推出的游戏中哪些类型的表现更好呢?通过AppData的数据, ...

  8. 拼多多-游戏化设计-彻底被撩到

    每到春末夏初,总会发誓减肥,尽管知道为时已晚,但还是不甘心,于是开始置办健身装备,首先是运动服. 在淘宝上搜了半天,关键字为"运动服 速干 女",较为便宜的.还看的过去的一般在12 ...

  9. python之穿越火线游戏代码_Python实现拼字游戏与代码重构

    有位文豪说得好:"看一个作家的水平,不是看他发表了多少文字,而要看他的废纸篓里扔掉了多少." 我觉得同样的理论适用于编程.好的程序员,他们删掉的代码,比留下来的还要多很多.如果你看 ...

最新文章

  1. 面向药物发现的深度图学习
  2. C语言socket accept()函数(提取出所监听套接字的等待连接队列中第一个连接请求,创建一个新的套接字,并返回指向该套接字的文件描述符)
  3. 数学之美笔记(十三)
  4. Maven - Idea解决Maven下载依赖包速度慢问题
  5. 面试官最爱的volatile关键字
  6. iOS之摇一摇功能实现
  7. python语言程序设计实践教程答案实验二_20192428 实验二《Python程序设计》实验报告...
  8. matlab图像显示 imagesc 和imshow
  9. 概率论与数理统计学习笔记——第四十三讲——两个正态总体的抽样分布
  10. 第二届中国(泰州)国际装备高层次人才创新创业大赛
  11. 关于java反射的一些基础方法说明--Filed
  12. Linux上如何测试服务器之间的通信
  13. 【烈日炎炎战后端】消息队列(1.0万字)
  14. 惠花生活小礼盒v2.0.1
  15. 网络协议——七层、五层、四层协议概念
  16. 移动操作系统的优劣及下一代移动系统展望
  17. 四月巴厘岛家庭游 - 2015
  18. 小时候,幸福很简单;长大后,简单很幸福!
  19. 解决华硕飞行堡垒8开机蓝屏问题
  20. Graph Neural Networks—GCN、GraphSAGE、GAT

热门文章

  1. 【Android进阶】14、theme 主题 和 menu 顶部应用栏
  2. 产品定位的步骤,如何探寻市场机会、挖掘市场细分并选择目标市场
  3. 汽车APP功能开发特点主要有哪些
  4. python彩色七段数码管绘制
  5. IDEA 程序包不存在,找不到符号但是明明存在对应的jar包 的解决方案
  6. Android获取通讯录权限6.0及以上
  7. 不能换行 俄语 前端h5_H5兼容问题及解决方法
  8. Springboot 使用JPA Repository 注入失败问题
  9. MPB:南农韦中组-植物根际土壤样品的非破坏性连续采集
  10. 中国市场杂志社中国市场编辑部2022年第32期目录