拼点游戏

Descriptions:

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

Input

输入包含多组测试数据。

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

Output

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

Sample Input

3
92 83 71
95 87 74
2
20 20
20 20
2
20 19
22 18
0

Sample Output

9 5
4 4
4 4

题目链接:

https://vjudge.net/problem/OpenJ_Bailian-4005

田忌赛马的加强版,参照田忌赛马,稍微改改就行

田忌赛马链接:

https://www.cnblogs.com/sky-stars/p/11073032.html

AC代码

#include <iostream>
#include <cstdio>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <deque>
#include <vector>
#include <queue>
#include <string>
#include <cstring>
#include <map>
#include <stack>
#include <set>
#include <sstream>
#define mod 1000000007
#define eps 1e-6
#define ll long long
#define INF 0x3f3f3f3f
#define ME0(x) memset(x,0,sizeof(x))
using namespace std;
int n;
//这就是田忌赛马好吗0.0 不会的看我田忌赛马博客 讲的比较细
// https://www.cnblogs.com/sky-stars/p/11073032.html
int solve(int c[],int s[])
{
int ans=;
int cl=,cr=n,sl=,sr=n;
while(sl<=sr)
{
// cout<<sr<<"* *"<<sl<<endl;
// cout<<s[sr]<<" "<<c[cr]<<endl;
if(s[sr]>c[cr])
{
--sr;
--cr;
ans+=;
}
else if(s[sr]<c[cr])
{
++sl;
--cr;
ans+=;
}
else
{
if(s[sl]>c[cl])
{
++sl;
++cl;
ans+=;
}
else
{
if(s[sl]<c[cr])
{
++sl;
--cr;
ans+=;
}
else
{
++sl;
--cr;
ans+=;
}
}
}
}
return ans;
}
int main()
{
while(cin>>n,n)
{
int a[];
int b[];
ME0(a);
ME0(b);
for(int i=; i<=n; ++i)
cin>>a[i];//C的卡牌
for(int i=; i<=n; ++i)
cin>>b[i];//S的卡牌
sort(a+,a++n);
sort(b+,b++n);
cout<<solve(a,b)<<" ";//求C的最大得分
//每一局总分一定是4,//求出S的最大得分,就求出了C的最小得分
cout<<*n-solve(b,a)<<endl;
}
}

最新文章

  1. Insert or Merge &amp;&amp; Insertion or Heap Sort
  2. 菜单导航/URHere/面包屑,通过CSS中的content简洁表达代码
  3. IOS 蓝牙相关-基础知识(1)
  4. [IIS]IIS扫盲(二)
  5. 织梦系统规律:查看网站是不是用dedecms建的
  6. 使用OCI向Oracle插入Geometry数据
  7. CentOS 7.0 安装 python3.X 脚本
  8. Windows下安装使用curl命令
  9. Unity3DGUI:人物能量条
  10. Java基础笔记11
  11. Linux中允许远程用户登录访问mysql的方法
  12. JavaScript是如何工作的:深入类和继承内部原理 + Babel和TypeScript 之间转换
  13. 骨灰级玩家体验带你测试体验天使纪元OL折扣端
  14. 安装Vmware并破解
  15. 如何解决rar文件解压缩失败
  16. Innodb的内存结构
  17. android--------ExpandableListView的使用多级列表
  18. thinkphp---数据表更新字段开发模式可更新生产模式不能更新!
  19. contentType &#39;text/xml; charset=UTF-8&#39; conflicts问题
  20. c# 跨平台ide JetBrains Rider

热门文章

  1. RTSP流媒体转发服务器源码
  2. ZOJ - 3948 Marjar Cola 【循环】
  3. 最大流EK算法
  4. html5 canvas基本用法
  5. finalize方法
  6. hadoop集群部署后,遇到的问题记录
  7. 异步执行js脚本——防止阻塞
  8. 【概念】SVG(2)
  9. 关于 josnp ,解决跨域问题
  10. nyoj 1279 (河南省第九届ACM比赛 D 题)