【笔试】挑手套

原创 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;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

手腕上的手势识别系统:不用戴手套,全部用现有零件组装

微软开发了一个新的手势识别装置,与传统的全副武装的手套不同,这个装置只需要戴在手腕上即可,这个整个手都可以解放了。另外,这个装置全部使用现有能买到的零件组装的,未包含任何特殊制造的部件。如下图所示: ...
  • moonshooter
  • moonshooter
  • 2012年10月22日 08:50
  • 1946

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

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

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

1.Glovenone         Glovenone 具有独特的触觉反馈功能,并且可以兼容多款虚拟现实头盔,通过振动模拟真实的触摸体验,可以模拟出物品的形状,重量,和冲...
  • u013131744
  • u013131744
  • 2017年03月27日 18:43
  • 2218

PHP常见易错题

1、易错题1 function timesTwo(&$int) {         $int = $int * 2;     }     $int = 2;     $result = ti...
  • chajinglong
  • chajinglong
  • 2017年02月20日 23:00
  • 172

幻化

布甲 http://bbs.ngacn.cc/read.php?tid=7657886&_ff=7 头:外域住民头巾 肩:红色魔纹护肩 上衣:海盗外衣 腰带:杉德尔船长的腰带 手:放逐顽徒的手套 腿...
  • fezter
  • fezter
  • 2014年12月18日 14:34
  • 431

算法谜题之解决

前言     在图书馆看到一本算法谜题书,整本书没有讲算法的实现,但是给出了很多有意思的谜题游戏。正好试试手练习练习Python编程,同时根据我完成任务的难易度,给了难易度星星。 谜题目录...
  • Charben
  • Charben
  • 2017年11月22日 19:35
  • 74

我的精简生活手套总结篇

我的手套们,最近买的是二年内的二只。4号和7号 那个用了马塞克的是刚刚扔了的。质量是好的,只是PU有些破。 1,最厚的冬天用手套(此款在广东是用不上了) 2,差一些的厚皮PU 手套。(2...
  • wide288
  • wide288
  • 2018年01月23日 09:43
  • 64

手套

本人今年特怕冷,以前过冬连毛线裤都不愿穿,今年早早把所有能穿的衣服都穿上了,就差裹被了.为了防冻,故到小摊上以1.5元买了双半截手套,在工作时用;老娘又给了一双手套,用于骑车.半截手套戴了几天,觉得脏...
  • xiangxi97
  • xiangxi97
  • 2005年12月16日 10:32
  • 517

发放订单以便挑库时,点击立即执行,系统自动触发请求“挑库选择列表生成”出现错误

发放订单以便挑库时,点击立即执行,系统自动触发请求“挑库选择列表生成”出现错误错误如图:查看输出:原因如下:剩下的交给DBA处理。...
  • u012025054
  • u012025054
  • 2016年04月20日 12:42
  • 4919

【图像识别】【论文】残疾人手语交流辅助系统手语识别与翻译&&基于数据手套的虚拟手的实现

《残疾人手语交流辅助系统手语识别与翻译》 【本来以为这是一篇学位论文,没想到是比赛的“感言”,不过比赛有一个地方很好,什么最好用、最简单用什么,而是一大堆为写论文而进行研究的东西,各种先进算法交杂在...
  • linghugoogle
  • linghugoogle
  • 2016年10月28日 00:16
  • 848
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【笔试】挑手套
举报原因:
原因补充:

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