【UVA】12504 Updating a Dictionary(STL)
题目
分析
第一次用stringstream,真TMD的好用
代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
getchar();//回车
while(n--)
{
string s1,s2;
getline(cin,s1);
getline(cin,s2);
for(int i=0;i<s1.length();i++)
if(!isalpha(s1[i]) && !isdigit(s1[i])) s1[i]=' ';
for(int i=0;i<s2.length();i++)
if(!isalpha(s2[i]) && !isdigit(s2[i])) s2[i]=' ';
int l1=0,l2=0;
map<string,string> m;
map<string,string>::iterator it;
vector<string> c,d,e;
stringstream ss(s1),ss2(s2);
string a,b;
while(ss>>a)
{
ss>>b; m[a]=b; l1++;
}
while(ss2>>a)
{
ss2>>b; l2++;
if(!m.count(a)) c.push_back(a);
else if(m[a]!=b) d.push_back(a);
if(m.count(a))
{
it=m.find(a);
m.erase(it);
}
}
sort(d.begin(),d.end());
sort(c.begin(),c.end());
if(c.size())
{
cout<<"+";
for(int i=0;i<c.size();i++)
{
cout<<c[i];
if(i==c.size()-1) cout<<endl;
else cout<<",";
}
}
if(m.size())
{
cout<<"-";
for(map<string,string>::iterator i=m.begin();i!=m.end();i++)
{
if(i!=m.begin()) cout<<',';
cout<<i->first;
}
cout<<endl;
}
if(d.size())
{
cout<<"*";
for(int i=0;i<d.size();i++)
{
cout<<d[i];
if(i==d.size()-1) cout<<endl;
else cout<<',';
}
}
if(!c.size()&&!d.size()&&!m.size()) puts("No changes");
cout<<endl;
}
return 0;
}
【UVA】12504 Updating a Dictionary(STL)的更多相关文章
- 【UVA】10635 Prince and Princess(LCS)
题目 传送门:QWQ 分析 水题.$ O(nlogn) $的LCS 代码 #include <bits/stdc++.h> using namespace std; *, INF=1e9; ...
- 【UVa】1606 Amphiphilic Carbon Molecules(计算几何)
题目 题目 分析 跟着lrj学的,理解了,然而不是很熟,还是发上来供以后复习 代码 #include <bits/stdc++.h> using namespace std; ; stru ...
- 【UVa】1343 The Rotation Game(IDA*)
题目 题目 分析 lrj代码.... 还有is_final是保留字,害的我CE了好几发. 代码 #include <cstdio> #include <algorit ...
- 【UVa】11212 Editing a Book(IDA*)
题目 题目 分析 get一下IDA*的技巧,感觉总体来说不难,主要是剪枝比较难想. 这是lrj的代码,比较通俗易懂,关键就是选定一个区间再取出来,插入到一个位置,接下来转移到这个状态. ...
- 【原】FMDB源码阅读(二)
[原]FMDB源码阅读(二) 本文转载请注明出处 -- polobymulberry-博客园 1. 前言 上一篇只是简单地过了一下FMDB一个简单例子的基本流程,并没有涉及到FMDB的所有方方面面,比 ...
- 【原】FMDB源码阅读(一)
[原]FMDB源码阅读(一) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 说实话,之前的SDWebImage和AFNetworking这两个组件我还是使用过的,但是对于 ...
- 【原】AFNetworking源码阅读(四)
[原]AFNetworking源码阅读(四) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇还遗留了很多问题,包括AFURLSessionManagerTaskDe ...
- 【原】SDWebImage源码阅读(五)
[原]SDWebImage源码阅读(五) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 前面的代码并没有特意去讲SDWebImage的缓存机制,主要是想单独开一章节专门讲 ...
- 【原】SDWebImage源码阅读(四)
[原]SDWebImage源码阅读(四) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 SDWebImage中主要实现了NSURLConnectionDataDelega ...
随机推荐
- about system (pause) in cpp
Which is best way to pause the console in C++ programs? using cin.get() or using system("pause& ...
- [置顶]
Isolation Forest算法原理详解
本文只介绍原论文中的 Isolation Forest 孤立点检测算法的原理,实际的代码实现详解请参照我的另一篇博客:Isolation Forest算法实现详解. 或者读者可以到我的GitHub上去 ...
- UE4中类自动生成代码解析
本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/73189272 作者:car ...
- JMter参数化
参数化是干嘛的呢,咱们在调用接口的时候,有入参,那参数里面的值如果经常变化的话,就得每次去改了,很麻烦,这时候咱们就把需要经常变的值,改成可以变化的或者是咱们提前设置好的一些值,这样的话,调用的时候就 ...
- [Linux] 复制文件夹下指定创建时间的文件
暂时不知道什么命令可以达到这个目标,目前的方法是分步进行: 首先,找出指定创建时间内的文件名 例如在imgs文件夹中,找出创建时间在一天内的文件 > feb_files.txt 然后将这些文件复 ...
- Android Studio单独生成apk
/********************************************************************* * Android Studio单独生成apk * 说明: ...
- 【sklearn】from sklearn.extermals import joblib(保存模型和加载模型)
原创博文,转载请注明出处! sklearn中保存和加载模型的方法 1.载入模块 from sklearn.externals joblib. model = joblib. # -*- coding: ...
- 编程之美Ex2——字符串移位包含的问题
给定两个字符串s1,s2,要求判定s2是否能够被s1做循环移位得到的字符串包含. 例如, 给定s1=AABCD和s2=CDAA,返回true: 给定s1=ABCD和s2=ACBD,返回false. 法 ...
- [持续更新]Python 笔记
本文以 Python 2.7 为基础. lambda 函数实现递归 方法一:传递一个 self 参数 求阶乘: frac = lambda self, x: self(self, x - 1) * x ...
- Sublime Text 3常用插件安装
Sublime Text 3常用插件安装 PS:sublime是笔者用过的最好用的编辑器,也是最轻量级,功能最强大的编辑器.好东西应该被分享! 1.直接安装 --下载安装包解压缩到Packages目录 ...