STL容器(map)————HDU例题
来源:互联网 发布:淘宝中老年衣服 编辑:程序博客网 时间:2024/06/01 10:37
map 的使用 注意first 为key值 second 是value值
然后就是在杭电上头文件对于map的map<string,int >::iterator i;的操作。使用#include<cstring>会编译错误。。<string>则不会
对于hdu1263,由于map<string,int>存储是按KEY值的字母顺序排序,所以这里免去了排序的步骤。
STL很强大!
hdu1004:
- #include<iostream>
- #include<string>
- #include<map>
- using namespace std;
- map<string,int>M;
- map<string,int>::iterator p,q;
- int n;
- int main()
- {
- string str;
- while(scanf("%d",&n),n)
- {
- M.clear(); //清空
- while(n--)
- {
- cin>>str;
- if(M[str]==0) //插入
- M[str]=1;
- else
- M[str]++;
- }
- int k=-1;
- for(p=M.begin();p!=M.end();p++) //查找
- {
- if((p->second)>k)
- {
- k=p->second;
- q=p;
- }
- }
- cout<<q->first<<endl;
- }
- return 0;
- }
然后是hdu1075
- #include <stdlib.h>
- #include <iostream>
- #include <stdio.h>
- #include<string>
- #include<map>
- using namespace std;
- map<string,string> m;
- map<string,string>::iterator it;
- char c[3020];
- int main()
- {
- char s[22],t[22],tmp[22];
- scanf("%s",s);
- while(scanf("%s",s)!=EOF)
- {
- if(!strcmp(s,"END"))
- break;
- scanf("%s",t);
- m[t]=s;
- }
- scanf("%s",s);
- getchar();
- while(gets(c))
- {
- if(!strcmp(c,"END"))
- break;
- int len=strlen(c);
- int j=0;
- for(int i=0;i<len;i++)
- {
- if(c[i]>='a'&&c[i]<='z')
- {
- tmp[j]=c[i];
- j++;
- }
- else
- {
- tmp[j]='\0';
- it=m.find(tmp);
- if(it!=m.end())
- {
- char ww[22];
- //ww=it->second;
- cout<<it->second;
- //printf("%s",it->second);
- }
- else
- {
- printf("%s",tmp);
- }
- printf("%c",c[i]);
- j=0;
- }
- }
- printf("\n");
- }
- return 0;
- }
最后hdu1263
- #include<iostream>
- #include<string>
- #include<cstdio>
- #include<map>
- using namespace std;
- int main()
- {
- map<string,map<string,int> > a;
- map<string,int> b;
- map<string,map<string,int> >::iterator i;
- map<string,int>::iterator j;
- int T,m,tmp;string s,tb;
- cin>>T;
- while(T--)
- {
- a.clear();
- b.clear();
- cin>>m;
- while(m--)
- {
- cin>>s>>tb>>tmp;
- a[tb][s]+=tmp;
- }
- for(i=a.begin();i!=a.end();i++)
- {
- cout<<i->first<<endl;
- b=i->second;
- for(j=b.begin();j!=b.end();j++)
- {
- cout<<" |----"<<j->first<<"("<<j->second<<")"<<endl;
- }
- }
- if(T!=0)
- printf("\n");
- }
- }
阅读全文
0 0
- STL容器(map)————HDU例题
- STL关联容器—map
- 【STL】关联容器 — map
- STL容器(二)——map
- STL学习笔记——map容器
- stl map容器——hd1228A+B
- STL — map容器用法的详解
- STL容器(三)——对map排序
- STL容器(三)——对map排序
- STL源码剖析——关联容器之map
- stl之关联容器——set,map,hashtable
- STL学习笔记— —容器map和multimap
- STL关联式容器之映射表——map
- STL关联式容器——set和map
- STL学习笔记8— —容器map和multimap
- STL常用容器用法之——Map和multimap
- STL容器 — 顺序容器
- HDU2112——HDU Today(map容器+spfa)
- 生产——消费者模式
- python函数式编程(一)map/reduce、filter、sorted
- MySQL Server 5.7安装遇到的问题及解决
- 图练习题
- 小米笔记本怎么进bios设置u盘启动?
- STL容器(map)————HDU例题
- java线程状态
- Toolbar结合SearchView的使用
- mysql查询今天、昨天、7天、近30天、本月、上一月 数据
- Material Design 之自定义Behavior的使用
- hdu 3092 Least common multiple(完全背包+数论)
- python函数式编程(二)返回函数、匿名函数
- 树练习题
- unity 调用打印机打印照片