Message Flood(map)
http://acm.sdut.edu.cn:8080/vjudge/contest/view.action?cid=203#problem/D
以前用字典树做过
- #include <string.h>
- #include <stdio.h>
- #include <string>
- #include <map>
- using namespace std;
- int main()
- {
- char a[];
- int n,m,sum,l;
- while(scanf("%d",&n)!=EOF&&n!=)
- {
- sum=;
- scanf("%d",&m);
- map<string,int>q;
- q.clear();
- for(int i=; i<n; i++)
- {
- scanf("%s",a);
- l=strlen(a);
- for(int j=; j<l; j++)
- a[j]=tolower(a[j]);//将字符转换成小写字符
- q[a]++;
- }
- while(m--)
- {
- scanf("%s",a);
- l=strlen(a);
- for(int i=;i<l;i++)
- a[i]=tolower(a[i]);
- if(q.count(a)>)
- {
- sum++;
- q.erase(q.find(a));
- }
- }
- printf("%d\n",n-sum);
- }
- return ;
- }
第一次做的方法
- #include<stdio.h>
- #include<iostream>
- #include<map>
- #include<stdlib.h>
- #include<string.h>
- using namespace std;
- char a[][];
- int main()
- {
- int n,m,l;
- char b[];
- map<string,int>q;
- while(scanf("%d",&n)!=EOF&&n!=)
- {
- q.clear();
- scanf("%d",&m);
- getchar();
- for(int i=;i<n;i++)
- {
- gets(a[i]);
- l=strlen(a[i]);
- for(int j=;j<l;j++)
- {
- if(a[i][j]>='A'&&a[i][j]<='Z')
- a[i][j]=a[i][j]+;
- }
- q[a[i]]++;
- }
- for(int i=;i<=m;i++)
- {
- gets(b);
- l=strlen(b);
- for(int i=;i<l;i++)
- {
- if(b[i]>='A'&&b[i]<='Z')
- b[i]=b[i]+;
- }
- q[b]--;
- }
- int sum=;
- for(int i=;i<n;i++)
- {
- if(q[a[i]]>=)
- sum++;
- }
- printf("%d\n",sum);
- }
- return ;
- }
大神的代码
- #include <algorithm>
- #include <iostream>
- #include <cstring>
- #include <cstdlib>
- #include <cstdio>
- #include <set>
- using namespace std;
- int main()
- {
- int n,m,i,j,len;
- char s[];
- while(scanf("%d",&n)!=EOF&&n)
- {
- set<string>mp;//声明set容器
- set<string>::iterator it;//声明set迭代器
- scanf("%d",&m);
- getchar();
- for(i=; i<n; i++)
- {
- gets(s);
- len=strlen(s);
- for(j=; j<len; j++)
- {
- s[j]=towlower(s[j]);
- }
- mp.insert(s);//向set里加入一个元素
- }
- for(i=; i<m; i++)
- {
- gets(s);
- len=strlen(s);
- for(j=; j<len; j++)
- {
- s[j]=towlower(s[j]);
- }
- if(mp.count(s))//判断容器里是否存在该元素
- mp.erase(s);//如果容器里存在该元素,则删除
- }
- printf("%d\n",mp.size());//输出容器内剩余元素个数
- }
- return ;
- }
Message Flood(map)的更多相关文章
- STL 之map解决 Message Flood(原字典树问题)
Message Flood Time ...
- Message Flood
Message Flood Time Limit: 1500MS Memory limit: 65536K 题目描述 Well, how do you feel about mobile phone? ...
- Sicily 1194. Message Flood
题目地址:1194. Message Flood 思路: 不区分大小写,先全部转化为小写,用stl提供的函数做会很方便. 具体代码如下: #include <iostream> #incl ...
- sdut Message Flood(c++ map)
用字典树没过,学习了一下map; 参考博客:http://blog.csdn.net/zhengnanlee/article/details/8962432 AC代码 #include<iost ...
- SDUT1500 Message Flood
以前做过的用的字典树,可是貌似现在再用超内存....求解释... 问了LYN用的map函数做的,又去小小的学了map函数.... http://wenku.baidu.com/view/0b08cec ...
- oj1500(Message Flood)字典树
大意:输入几个字符串,然后再输入几个字符串,看第一次输入的字符串有多少没有在后面的字符串中出现(后输入的字符串不一定出现在之前的字符串中) #include <stdio.h> #incl ...
- 图层损坏 E/ArcGIS﹕ The map or layer has been destroyed or recycled. 资源未释放
看到论坛上有个网友和我一样的问题: The map or layer has been destroyed or recyled t Hello, I have a problem when the ...
- proto3 中的 map 类型
.proto syntax = "proto3"; option optimize_for = SPEED; message TestStruct { map<int32,s ...
- SDUT 1500-Message Flood(set)
Message Flood Time Limit: 1500ms Memory limit: 65536K 有疑问?点这里^_^ 题目描写叙述 Well, how do you feel abo ...
随机推荐
- IOS 怎么用UIScrollView来滚动和缩放他的内容第一篇
本篇文章来自于互联网资料翻译 UIScrollView是在IOS最有用的控件之一.他是一个来展现超过一个屏幕的内容的很好的方式.下面有很多的技巧来使用他. 这篇文章就是关于UIScrollView的, ...
- WP8.1学习系列(第二章)——Toast通知
Toast 通知概述(Windows 运行时应用) 你的应用要想通过 Toast 通知通信,必须在应用的清单文件中声明它支持 Toast.Toast 通知可包含文本,并且 Windows 上的 Toa ...
- 【cs229-Lecture11】贝叶斯统计正则化
本节知识点: 贝叶斯统计及规范化 在线学习 如何使用机器学习算法解决具体问题:设定诊断方法,迅速发现问题 贝叶斯统计及规范化(防止过拟合的方法) 就是要找更好的估计方法来减少过度拟合情况的发生. 回顾 ...
- |和||、&&和&
|和||.&&和& | : 会检查每一个 条件的真伪,再做“或”运算 ||: 按照条件写的顺序,直到一个为true时,后面的条件则不再检查,直接进入条件 & : 会检查 ...
- jQuery事件处理(七)
1.自定义事件(用户手动trigger的一般都是自定义事件) trigger: function( event, data, elem, onlyHandlers ) { var i, cur, tm ...
- Android与互联网的交互方式有三种
数据下载:下载网络上的的数据,包括图片.代码文本.XML文件.JSON数据,音/视频等大文件,调用webservice. 数据上传:上传图片.文本.XML.JSON数据.音/视频文件,调用webser ...
- 对Java中使用两个大括号进行初始化的理解
最近重读Java 编程思想,读到有关实例化代码块儿 的内容,使我对于使用两个大括号进行初始化有了更深的理解. 实例化代码块儿: 和静态代码块儿的概念相对应,静态代码块儿是static 关键字 + 大括 ...
- MFC学习单选框Radio使用
创建单选框Radio ,ID号IDC_RADIO_NAME 1.获取单选框内容 int RadioState = ((CButton *)GetDlgItem(IDC_RADIO_NAME))-> ...
- shell脚本中对简单实现对log的处理
用shell在写小程序时,log没用像python样用logging模块可以直接使用,下面我们就简单写下用shell函数来实现log分级 #/bin/bash sys_log="/var/l ...
- html如何让label在div中的垂直方向居中显示?
设置label的行高 line-height 和div的高度一致即可.