【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 ...
随机推荐
- c# 数据库批量插入数据SqlBulkCopy 示例
/// <summary> /// 批量插入数据 /// </summary> public static void SqlBulkInsert(DataTable dt, s ...
- Java并发编程之CountDownLatch,CyclicBarrier实现一组线程相互等待、唤醒
java多线程应用场景不少,有时自己编写代码又不太容易实现,好在concurrent包提供了不少实现类,还有google的guava包更是提供了一些最佳实践,这让我们在面对一些多线程的场景时,有了不少 ...
- location.href 跳转之后,原来位置下面的代码还会继续执行
location.href 跳转之后,原来位置下面的代码还会继续执行
- 求二叉树的深度 python
二叉树有深度和高度两个属性,一个节点的深度指的是从根节点到该节点路径的长度,根节点的深度为1:一个节点的高度指的是从该节点到叶子节点所有路径上包含节点个数的最大值.叶子节点的高度为1,往上节点的高度依 ...
- 在Golang中获取系统的磁盘空间内存占用
获取磁盘占用情况(Linux/Mac下有效) import ( "syscall" ) type DiskStatus struct { All uint64 `json:&quo ...
- XCOde 5 的界面布局一些新特性
1.问题 •在iOS程序中,大部分视图控制器都包含了大量的代码用于设置UI布局,设置控件的水平或垂直位置,以确保组件在不同版本的iOS中都能得到合理的布局 •甚至有些程序员希望在不同的设备使用相同的视 ...
- kubeadm搭建kubernetes集群之三:加入node节点
在上一章<kubeadm搭建kubernetes集群之二:创建master节点>的实战中,我们把kubernetes的master节点搭建好了,本章我们将加入node节点,使得整个环境可以 ...
- python中利用类创建的对象来保存信息
在类创建的对象中,一般都是以字典的方式来保存信息 class Student: def __init__(self, name, age, score): self.name = name self. ...
- day4(带)
int is_his_file(char*filename,char *username) { int ret; struct passwd *user_info;// struct stat sta ...
- HDU1003 Max Sum
解题思路:最大连续和,此题多了记录的下标,具体见代码. #include<cstdio> #include<algorithm> using namespace std; #d ...