sicily 1194. Message Flood
2015-11-11 16:29
369 查看
1194. Message Flood
Constraints
Time Limit: 1 secs, Memory Limit: 32 MBDescription
Well, how do you feel about mobile phone? Your answer would probably be something like that “It’s so convenient and benefits people a lot”. However, if you ask Merlin this question on the New Year’s Eve, he will definitely answer“What a trouble! I have to keep my fingers moving on the phone the whole night, because I have so many greeting messages to send! ”. Yes, Merlin has such a long name list of his friends, and he would like to send a greeting message to each of them. What’s
worse, Merlin has another long name list of senders that have sent message to him, and he doesn’t want to send another message to bother them (Merlin is so polite that he always replies each message he receives immediately). So, before he begins to send messages,
he needs to figure to how many friends are left to be sent. Please write a program to help him.
Here is something that you should note. First, Merlin’s friend list is not ordered, and each name is alphabetic strings and
case insensitive. These names are guaranteed to be not duplicated. Second, some senders may send more than one message to Merlin, therefore the sender list may be duplicated. Third, Merlin is known by so many people, that’s
why some message senders are even not included in his friend list.
Input
There are multiple test cases. In each case, at the first line there are two numbers n and m (1<=n, m<=20000), which is the number of friends and the number of messages he has received. And then there are n lines of alphabeticstrings (the length of each will be less than 10), indicating the names of Merlin’s friends, one per line. After that there are m lines of alphabetic strings, which are the names of message senders.
The input is terminated by n=0.
Output
For each case, print one integer in one line which indicates the number of left friends he must send.Sample Input
5 3InkfishHenryCarpMaxJerichoCarpMaxCarp0
Sample Output
3
题目分析
求a-b的剩余部分
姓名不区分大小写
用vector和字符串数组都超时了,还是用map过得
#include <iostream>
#include <map>
#include <cstdio>
#include <string.h>
std::string tolow(std::string line) {
for (int i = 0; i < line.length(); ++i)
line[i] = tolower(line[i]);
return line;
}
int main()
{
int need, done;
while (scanf("%d", &need)) {
if (need == 0)
break;
scanf("%d", &done);
std::string line;
std::map<std::string, int> m;
int count = 0;
for (int i = 0; i < need; ++i) {
std::cin >> line;
m[tolow(line)] = 1;
count++;
}
for (int i = 0; i < done; ++i) {
std::cin >> line;
if (m[tolow(line)] == 1) {
m[tolow(line)] = 0;
--count;
}
}
printf("%d\n", count);
}
}
相关文章推荐
- windows学习记录之MFC编程之自定义消息映射
- 使用流程引擎控制访问权限的可行性研究
- Spring事务配置的五种方式
- [转]C#连接Oracle数据库(直接引用dll使用)
- 完美配置Tomcat的HTTPS
- uwp ,win10 post json
- 第三章 DispatcherServlet详解 ——跟开涛学SpringMVC
- [置顶] android实现的文件上传案例探讨
- SQL Server 2012中的AlwaysOn尝试
- 几种数据库随机函数小结
- 欢迎使用CSDN-markdown编辑器
- 下载页面的flash代码
- 获取客户端ip代码
- win编程实践(1)【c++】
- 为什么Java byte 类型的取值范围是-128~127
- Spring 定时任务配置
- Java学习笔记(七)反射及内部类
- css基础
- nmap 6.49-usage
- 第二章 Spring MVC入门 —— 跟开涛学SpringMVC