输入若干候选人,以及投票,格式如下,输出(按输入候选人输入顺序)候选人以及得票,以及
无效票数。
Input:
addCandidate xx1
addCandidate xx2
addCandidate xx3
addCandidate xx4
addCandidate xx5
addCandidate xx6
vote xx2
vote xx2
vote xx3
vote xx3
vote xx4
vote xx6
vote xx7
vote xx1
vote xx1
Output:
xx1 2
xx2 2
xx3 2
xx4 1
xx6 1

1

用链表做的,查找不高效,因为要保持输入顺序。

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <string>
#include <cstring>
#include <algorithm>
#include <vector>
#include <sstream>
#include <set>
#include <map>
#include <cmath>using namespace std;
typedef struct person{string name;int num;person *next;person(string name, int num){this->name = name;this->num = num;this->next = NULL;}
}person;void destroyList(person *head)
{//delete the person node's memory here.return;
}int main()
{string lines;string word;string name;person *head = NULL;person *tail = NULL;while(getline(cin, lines)){istringstream iss(lines);iss>>word;iss>>name;if (word != "add"){break;}person * cur = new person(name,0);if (head == NULL){head = cur;tail = cur;}else {tail->next = cur;tail = cur;}}int illegal = 0;person *tmp = head;while(tmp != NULL){if (tmp->name == name){tmp->num++;break;}else tmp = tmp->next;}while(getline(cin, lines)){istringstream iss(lines);iss>>word;iss>>name;if (word == "vote"){tmp = head;while(tmp != NULL){if (tmp->name == name){tmp->num++;break;}else tmp = tmp->next;}if (tmp == NULL){illegal++;}}}tmp = head;while(tmp != NULL){if (tmp->num > 0){cout<<tmp->name<<" "<<tmp->num<<endl;}tmp = tmp->next;}cout<<illegal<<endl;destroyList(head);system("pause");return 0;
}

【华为编程大赛】投票问题相关推荐

  1. 第4届华为编程大赛决赛试题解答(棋盘覆盖)

    转自:http://blog.csdn.net/zhoujiaxq/article/details/7917071 在http://blog.thpiano.com/?p=579看到有人贴出第四届华为 ...

  2. 2014华为编程大赛题目2:笨笨熊搬家打包篇

    注:2014华为编程大赛题目2 下面贴出我的代码,经过多次测试后,无问题, 所以想共享下,也看看大家的思路. 笨笨熊搬家打包篇 描述:森林里的笨笨熊今天可开心啦--他买了新房子,乔迁新禧要搬新家了.因 ...

  3. InterSystems开发者工具编程大赛投票时间:为你心目中的最佳App投票吧!

    亲爱的社区开发者们: 本周进入 InterSystems 开发者工具编程大赛 投票时间(4月19日-25日)! 来为你心目中基于InterSystems IRIS而构建的最佳方案投票吧!

  4. 【华为编程大赛】洞穴逃生

    洞穴逃生  描写叙述:  精灵王子爱好冒险,在一次探险历程中,他进入了一个神奇的山洞.在洞穴深处,精灵王子不小心触动了洞穴内暗藏的机关,整个洞穴将非常快塌陷,精灵王子必须尽快逃离洞穴.精灵王子的跑步速 ...

  5. 华为编程大赛之括号匹配

    输入一个字符串表达式,判断括号匹配 例如:{}{}{}[][](){[]}  匹配 {[{]}}  不匹配 使用堆栈实现,源码如下: #include <stdio.h> #include ...

  6. 2014华为编程大赛题目:笨笨熊搬家打包篇

    题目:笨笨熊搬家打包篇 森林里的笨笨熊今天可开心啦--他买了新房子,乔迁新喜要搬家了. 因此,笨笨熊请了许多好朋友来帮忙搬家,并准备了很多小纸盒用来装需要搬的物品, 不过,这些纸盒的容积都是相同的,并 ...

  7. 2012年华为杯校园编程大赛决赛 类别:软件C/C++语言

    2012年华为杯校园编程大赛决赛 类别:软件C/C++语言 编程题(共1题,100分.请上机编写程序,按题目要求提交文件.测试用例不对考生公开,凡不满足提交要求导致不能运行或用例不通过,不予评分.) ...

  8. 中国移动这个编程大赛来了!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale赛事 主办单位:中移集成(雄安产业研究院) 首届OneCity编程大赛 11月 ...

  9. 杨超越吧编程大赛;拼多多刷单?苹果新员工一半没本科学历 | 极客头条

    「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有料的新闻资讯,让所有技术人,时刻紧跟业界潮流. 快讯速知 贴 ...

  10. 首届华为开发者大赛沙龙牵手大连-与开发者共话赛事

    文/华为eSDK 2016 华为开发者大赛是华为公司面向全国开发者的大型软件竞赛,致力于通过华为全系产品领域的能力开放和全方位的开发支持服务,寻找创新的种子并共同孵化出创新的解决方案以推向华为优势 ...

最新文章

  1. 在MAC上搭建eclipse+android开发环境
  2. 数据库编程入门培训(二)
  3. 各种资源思科、gns3……
  4. 布道微服务_10注册中心与RPC框架的选型
  5. C#9.0 终于来了,带你一起解读 nint 和 Pattern matching 两大新特性玩法
  6. hdu 1023 Train Problem II
  7. Python3 Flask+nginx+Gunicorn部署(上)
  8. Java 任务调度,分布式定时任务XXL-JOB,elastic-job
  9. 2021-09-09316. 去除重复字母 栈
  10. pmp全真模拟题100道(含答案)
  11. 电子设计大赛简易自动入库小车设计
  12. php 中文 验证码,PHP中文验证码函数
  13. 瑞昱网卡linux通用驱动下载,realtek网卡通用驱动最新版下载
  14. 南方科技大学计算机唐博,唐博 - 教师个人主页 - 南方科技大学
  15. C/C++实现strcpy和strcat两个功能
  16. mysql association_MyBatis的association示例——MyBatis学习笔记之三
  17. 布斯(booth)乘法详解和例子
  18. 刘军吉林大学计算机学院,刘桂霞-吉林大学计算机科学与技术学院
  19. 杨百万:上周四全仓杀入股市 这波反弹不是牛市新起点
  20. vue 移动端 div背景图片 pc端显示 移动端不显示

热门文章

  1. Python替换月份为英文缩写
  2. 计算机网络请子网划分,计算机网络不同主机数的子网划分
  3. JAVA Netty实现聊天室+私聊功能
  4. Siebel系统中配置LDAP认证
  5. JAVA反射机制Reflection详解
  6. CDD数据库文件制作(一)
  7. 一种圆面积公式的推导方法
  8. 一位农村妇女被渣男抛弃之后,竟然……
  9. 【Swift】401状态处理流程
  10. 基于医疗知识图谱的项目构建学习总结(一)—项目构建环境搭建及爬取数据部分