7-7 选民投票 STL
7-7 选民投票
编程统计候选人的得票数。有若干位候选人(n<=10),候选人姓名从键盘输入(候选人姓名不区分大小写,姓名最长为9个字节),若干位选民,选民每次输入一个得票的候选人的名字(姓名最长为9个字节),若选民输错候选人姓名,则按废票处理。程序自动统计各候选人的得票结果,并按照得票数由高到低的顺序排序。最后输出各选票人得票结果和废票信息。
输入格式:
先输入候选人人数n和n名候选人姓名,再输入选民人数m和m位选民的选票。
输出格式:
先根据选票结果由高到低输出各候选人得票结果,再根据废票情况输出废票信息(换行后,输出提示信息“invalid vote:”,再输出废票信息)。
输入样例1:
3
zhang
li
wang
9
Wang
Zhang
zhuang
LI
Liao
ZHANG
WANG
Wang
wang
输出样例1:
wang:4
zhang:2
li:1
invalid vote:
zhuang
Liao
输入样例2:
2
liu
yang
5
Liu
liu
YANG
yang
Liu
输出样例2:
liu:3
yang:2
用STL瞎模拟就行了
#ifdef debug
#include <time.h>
#endif#include <iostream>
#include <algorithm>
#include <vector>
#include <string.h>
#include <map>
#include <set>
#include <stack>
#include <queue>
#include <math.h>#define MAXN ((int)1e5+7)
#define ll long long int
#define INF (0x7f7f7f7f)
#define fori(lef, rig) for(int i=lef; i<=rig; i++)
#define forj(lef, rig) for(int j=lef; j<=rig; j++)
#define fork(lef, rig) for(int k=lef; k<=rig; k++)
#define QAQ (0)using namespace std;#define show(x...) \do { \cout << "\033[31;1m " << #x << " -> "; \err(x); \} while (0)void err() { cout << "\033[39;0m" << endl; }
template<typename T, typename... A>
void err(T a, A... x) { cout << a << ' '; err(x...); }namespace FastIO{char print_f[105];void read() {}void print() { putchar('\n'); }template <typename T, typename... T2>inline void read(T &x, T2 &... oth) {x = 0;char ch = getchar();ll f = 1;while (!isdigit(ch)) {if (ch == '-') f *= -1; ch = getchar();}while (isdigit(ch)) {x = x * 10 + ch - 48;ch = getchar();}x *= f;read(oth...);}template <typename T, typename... T2>inline void print(T x, T2... oth) {ll p3=-1;if(x<0) putchar('-'), x=-x;do{print_f[++p3] = x%10 + 48;} while(x/=10);while(p3>=0) putchar(print_f[p3--]);putchar(' ');print(oth...);}
} // namespace FastIO
using FastIO::print;
using FastIO::read;int n, m, Q, K;std::map<string, int> mp;
std::map<string, string> mp2;
//std::set<string> fp;
std::vector<string> fp;#define CH(x) ((x>='a' && x<='z') ? x : x-'A'+'a')int main() {#ifdef debugfreopen("test", "r", stdin);clock_t stime = clock();
#endifcin >> n;string str;while(n--) {cin >> str;string tmp = str;for(int i=0; i<(int)tmp.length(); i++)tmp[i] = CH(tmp[i]); //全部转小写mp[tmp] = 0;mp2[tmp] = str;}cin >> m;while(m--) {cin >> str;string tmp = str;for(int i=0; i<(int)tmp.length(); i++)tmp[i] = CH(tmp[i]);if(mp.find(tmp) == mp.end()) fp.push_back(str);else mp[tmp] ++;}vector<pair<int, string> > vec;for(auto it : mp)vec.push_back({ it.second, mp2[it.first]} );sort(vec.begin(), vec.end(), greater<pair<int, string> >());for(auto it : vec) cout << it.second << ":" << it.first<< endl;if(fp.size())cout << "\ninvalid vote:" << endl;for(auto s : fp) cout << s << endl;#ifdef debugclock_t etime = clock();printf("rum time: %lf 秒\n",(double) (etime-stime)/CLOCKS_PER_SEC);
#endif return 0;
}
7-7 选民投票 STL相关推荐
- 编程统计候选人的得票数。设有3个候选人zhang、li、wang(候选人姓名不区分大小写),10个选民,选民每次输入一个得票的候选人的名字,若选民输错候选人姓名,则按废票处理。选民投票结束后程序自动显
编程统计候选人的得票数.设有3个候选人zhang.li.wang(候选人姓名不区分大小写),10个选民,选民每次输入一个得票的候选人的名字,若选民输错候选人姓名,则按废票处理.选民投票结束后程序自动显 ...
- 耶鲁大学 博弈论(Game Theory) 笔记6-纳什均衡之纳什均衡之伯川德模型与选民投票
耶鲁大学 博弈论(Game Theory) 笔记6-纳什均衡之纳什均衡之伯川德模型与选民投票 目录 耶鲁大学 博弈论(Game Theory) 笔记6-纳什均衡之纳什均衡之伯川德模型与选民投票 伯川德 ...
- java模拟选民投票
我们就模拟选民投票,当票数达到100票后,停止投票. 一.代码图 直接上代码 实体类 public class Voter {private String name;//选民名称private sta ...
- C语言编程题:选民投票
选民投票 分数 6 全屏浏览题目 切换布局 作者 刘仕筠 单位 成都信息工程大学 ...
- 编程统计候选人的得票数。设有3个候选人,Li,Zhang,Fun。 要求输入投票总数n,然后每次输入一个得票的候选人的名字(区分大小写),若选民输错候选人姓名,则按废票处理。 选民投票结束后程序自动显
编程统计候选人的得票数.设有3个候选人,Li,Zhang,Fun. 要求输入投票总数n,然后每次输入一个得票的候选人的名字(区分大小写),若选民输错候选人姓名,则按废票处理. 选民投票结束后程序自动显 ...
- 7-3 选民投票 (8 分)编程统计候选人的得票数。有若干位候选人(n<=10),候选人姓名从键盘输入(候选人姓名不区分大小写,姓名最长为9个字节),若干位选民,选民每次输入一个得票的候选人的名字(
7-3 选民投票 (8 分) 编程统计候选人的得票数.有若干位候选人(n<=10),候选人姓名从键盘输入(候选人姓名不区分大小写,姓名最长为9个字节),若干位选民,选民每次输入一个得票的候选人的 ...
- 案例:模拟实现选民投票过程:一群选民进行投票,每个选民只允许投一次票,并且当投票总数达到100时,就停止投票
方法部分代码如下: import java.util.Scanner;public class Elector {//声明属性public String name;public int age;pub ...
- 选民投票 (15 分)
编程统计候选人的得票数.有若干位候选人(n<=10),候选人姓名从键盘输入(候选人姓名不区分大小写,姓名最长为9个字节),若干位选民,选民每次输入一个得票的候选人的名字(姓名最长为9个字节),若 ...
- c语言选民投票系统,投票系统实现
@font-face { font-family: "宋体"; }@font-face { font-family: "宋体"; }@font-face { f ...
最新文章
- Perl新接触的小命令
- Linux 用户管理相关命令
- mvc html根目录,c#-路由到ASP.NET MVC中的根目录
- node.js路由控制
- 关于OpenGL ES中的纹理压缩
- 【编程基本功练习0】zoj 3486
- python读取第一行设为字典_将csv读入字典,第一行成为名称
- 产品特点概述-驰骋工作流
- gulp-livereload组件使用
- java代码jar包混淆,proguard对java代码进行混淆
- c语言数据文件是,C语言数据文件操作.ppt
- 真牛,大神将Windows 10改造成Windows XP(EXPERIENCE Freestyle)
- 在Linux中安装mysql后遇到错误20008解决方案
- 软件外包项目这样做,快速拿下一个个项目金!
- BundleFusion的实现——RealSense D435i+Win10+VS2013+cuda8.0
- 郑州大学计算机硕士分数线,2021郑州大学考研复试线:热门专业超过400分,机械类专业仅263分...
- Node.js 发展史介绍与安装初体验
- 全栈工程师通网架构师之路
- 服务器系统盘选择,云服务器ecs选择什么系统盘
- 安装Adobe软件提示Error怎么解决?