[BJ2012.X4] 统计车牌
吾……开学了
但还是得继续刷题
但频率会低了qwq
每日干货
来自于:devc++小熊猫
题目描述
根据《北京市人民政府关于实施工作日高峰时段区域限行交通管理措施的通告》的有关规定,自 2012 年 4 月 9 日起限行机动车车牌尾号将进行轮换,2012 年 4 月 9 日至 2012 年 7 月 7 日,星期一至星期五限行机动车车牌尾号分别为:3 和 8 、4 和 9 、5 和 0 、1 和 6 、2 和 7(含临时号牌,机动车车牌尾号为英文字母的按 0 号管理);尾号限行的当天,7 时至 20 时禁止进入五环路以内道路(不含五环路)。请广大机动车驾驶员注意限行尾号轮换日期。出行前留意当日停驶尾号,勿因记错限行日而造成交通违法。
假如今天是星期一,正好是车牌尾数为 3 和 8 的车辆限行的日子,科研小组通过交管局获得了今日出行的所有车辆的号牌信息,你能否通过编程将违反限行规定的车辆都找出来(以车牌号第一个字母为依据,按照英文字母顺序排序),并列出违章车牌号及违章次数。
输入格式
输入一个 n,代表有 n 辆车的信息。
接下来有 n 行,每行一个车牌号数据(2 个大写字母 + 4 个数字)。
注意:前面的中文省去了。比如 京AB1234
,输入数据中是 AB1234
。
输出格式
行违章数据(按照车牌号字典序由小到大排序),每行由两部分构成,一个是违章汽车的车牌号,另一个是该车违章的次数,两者用空格分离。
如果所有车辆都没有违章信息,则直接输出数字 0 。
样例 #1
样例输入 #1
4
AB1233
JN1234
AB1233
AA1238
样例输出 #1
AA1238 1
AB1233 2
提示
对于 60% 的数据:1≤n≤10000
对于 100% 的数据:1≤n≤105
题目分析
emm……也就是说他想让我们统计每个字符串出现的次数
如果是int类型还好说……可是
AB1233:你好
我:服务器繁忙,请稍后重试
可是呢
《哪怕是个鬼都能用宝葫芦来收,字符串自然也要用map来收》
代码实现
//Author:fishing_liver diaoyudegan
#include<bits/stdc++.h>
using namespace std;
map<string,int>mp;//string类型的名字,int类型的次数
int main(){int n;string s;cin>>n;while(n--){cin>>s;if(s[5]=='3'||s[5]=='8')//判断是否限行{mp[s]++;//如果限行,那么就++}}if(mp.size()==0){cout<<'0';//如果所有车辆都没有违章信息return 0;//程序提前结束}for(auto x=mp.begin();x!=mp.end();x++){cout<<x->first<<" "<<x->second<<endl;//cout<<车牌号<<" "<<违章次数<<endl;}return 0;
}
感谢噶乐橙给我的头像哈哈