ZOJ 3309 Search New Posts(stl map)
来源:互联网 发布:付辛博 井柏然 知乎 编辑:程序博客网 时间:2024/05/16 04:05
用的stl的map,排序主要靠key.
#include <iostream>#include <cstdio>#include <memory.h>#include <map>#include <string>using namespace std;map<string,int>sToNum;struct state{string name;int v;bool operator<(const state &rhs)const{return v>rhs.v||(v==rhs.v&&name<rhs.name);}};map<state,int>list;int opn;char buf1[20],buf2[80];int main(){while (scanf("%d",&opn)==1){sToNum.clear();list.clear();int maxv=1,id=1;while (opn--){scanf("%s",buf1);if(!strcmp(buf1,"new")){scanf("%s",buf2);sToNum[string(buf2)]=maxv++;state t;t.name=buf2;t.v=maxv-1;list[t]=1;}else if(!strcmp(buf1,"reply")){scanf("%s",buf2);state t;t.v=sToNum[buf2];t.name=buf2;map<state,int>::iterator it=list.find(t);t=it->first;list.erase(it);t.v=maxv++;sToNum[buf2]=t.v;list[t]=1;}else if(!strcmp(buf1,"tag")){scanf("%s",buf2);state t;t.v=sToNum[buf2];t.name=buf2;map<state,int>::iterator it=list.find(t);t=it->first;list.erase(it);t.v=0;sToNum[buf2]=0;list[t]=1;}else{map<state,int>::iterator it=list.begin();for (int i=0;i<100&&it!=list.end()&&it->first.v;++i,++it){printf("%s\n",it->first.name.c_str());}printf("###\n");}}printf("\n");}return 0;}
- ZOJ 3309 Search New Posts(stl map)
- zoj - 3309- Search New Posts
- Posts Tagged 【Search】
- zoj 3540 Adding New Machine(map+离散化)
- wordpress plugin “search engine related posts” 1.2发布
- Posts Tagged 【Catalan && dfs】Unique Binary Search Trees I && II
- ZOJ 3674 Search in the Wiki 【C++STL大法尽情地模拟】
- STL-map
- stl -map
- stl map
- STL Map
- STL---map
- STL(MAP)
- STL(map)
- STL--map
- STL map
- stl map
- STL map
- EJB3.0学习总结
- 任意字符串转换成数学表达式
- Struts2校验学习
- Struts2中多文件上传
- 解决Address Already in use:JVM_Bind错误
- ZOJ 3309 Search New Posts(stl map)
- Intellij9中Grails环境搭建
- Ext的datefield在火狐下面显示过长解决办法
- Permission denied to access property 'dom' from a non-chrome context
- 最快捷测试Ext对象属性的方法
- 自己遭遇不幸
- 开放平台两三点感悟(下)
- Extjs+Grails教程系列1(Extjs环境搭配及HelloWorld程序)
- Extjs+Grails教程系列2(Extjs组件大致介绍)