【笔试】挑手套

原创 2016年08月28日 18:33:47

(编程题)
在地下室里放着n种颜色的手套,手套分左右手,但是每种颜色的左右手手套个数不一定相同。A先生现在要出门,所以他要去地下室选手套。但是昏暗的灯光让他无法分辨手套的颜色,只能分辨出左右手。所以他会多拿一些手套,然后选出一双颜色相同的左右手手套。现在的问题是,他至少要拿多少只手套(左手加右手),才能保证一定能选出一双颜色相同的手套。
给定颜色种数n(1≤n≤13),同时给定两个长度为n的数组left,right,分别代表每种颜色左右手手套的数量。数据保证左右的手套总数均不超过26,且一定存在至少一种合法方案。
测试样例:
4,[0,7,1,6],[1,5,0,6]
返回:10(解释:可以左手手套取2只,右手手套取8只)

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
int n;/////n种颜色的手套
while(cin>>n)
{
vector<int>iVecLeft;
vector<int>iVecRight;
////////得到左手的数组
char ch;
cin>>ch;
for(int i = 0;i < 2*n+1;i++)
{
if(i%2 == 0)
{
char ch;
cin>>ch;
}
else
{
int iNum;
cin>>iNum;
iVecLeft.push_back(iNum);
}
}
/ar ch;
cin>>ch;
////////得到右手的数组
for(int i = 0;i < 2*n+1;i++)
{
if(i%2 == 0)
{
char ch;
cin>>ch;
}
else
{
int iNum;
cin>>iNum;
iVecRight.push_back(iNum);
}
}
/*for(int i = 0;i < n;i++)
{
int iNum;
cin>>iNum;
iVecLeft.push_back(iNum);
}
for(int i = 0;i < n;i++)
{
int iNum;
cin>>iNum;
iVecRight.push_back(iNum);
}*/
///////////判断左手手套的情况:最少需要多少
int sumLeft = 0;
for(int i = 0; i < iVecLeft.size();i++)
{
if(iVecLeft[i] != 0 && iVecRight[i] == 0)
{
sumLeft += iVecLeft[i];
}
}
sumLeft += 1;
///////////////右手手套情况:最少需要多少
int sumRight = 0;
vector<int>::iterator it;
it = max_element(iVecRight.begin(),iVecRight.end());
sumRight += *it;
for(vector<int>::iterator it1 = iVecRight.begin();it1 != iVecRight.end();it1++)
{
if(it != it1)
{
if(*it1 !=0 && iVecLeft[it1 - iVecRight.begin()] == 0)
{
sumRight += *it1;
}
}
}
sumRight += 1;
////////////总共最少的情况:两个都最小
int sum = sumLeft + sumRight;
cout<<sum<<"(解释:可以左手手套取"<<sumLeft<<"只,右手手套取"<<sumRight<<"只)"<<endl;
}
system("pause");
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

淘米手套游戏CTO潘辉《如何提高手游开发的效率》

大家好,我叫潘辉,混迹游戏行业十多年了,从单机游戏一直到手游。我挺庆幸在这个行业的,对于我自己就不做过多介绍了。我想大家可能还不大了解我们公司手套游戏,我做一下简单介绍。       我先...

百度钱包 一分钱买触屏手套、100M流量、卷纸、口罩等(还包邮),还可以参加ipone6抽奖

一分钱可以买以下物品还可以参加抽奖 绝对真实 只需要绑定银行卡付款一分钱就可以了哦。 老公一分钱买了100M流量 自己一分钱买了一个触屏手套 (最主要的是还包邮哦  淘宝卖29.8元哦) ...

5dt数据手套.rar

  • 2012年12月13日 13:08
  • 153KB
  • 下载

5dt手套手势识别驱动

  • 2016年08月16日 17:14
  • 21.83MB
  • 下载

电容屏:为什么带手套无法进行操作手机?

过年的时候,堂哥又问我,啥时候能做出来戴个手套也能操作的手机就牛掰了。之前也奇怪,为什么戴上手套就不能操作了,尤其是短信聊天的时候又冷又不方便。有时候戴上手套其实也是可以操作,不过只是偶尔才能成功。 ...

5Dt 数据手套 pdf

  • 2010年04月15日 15:32
  • 124KB
  • 下载

虚拟现实数据手套汇总一览

1.Glovenone         Glovenone 具有独特的触觉反馈功能,并且可以兼容多款虚拟现实头盔,通过振动模拟真实的触摸体验,可以模拟出物品的形状,重量,和冲...

基于数据手套的应用方法

  • 2011年05月17日 12:01
  • 354KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【笔试】挑手套
举报原因:
原因补充:

(最多只允许输入30个字)