雨巨的UVA的C++题集英文真长…

题意:

有两本字典,第一行是旧字典,第二行是新字典。

每行不超过100个字符,没有空格,两本字典都可以是空的;

新key:+

缺key:-

值变 :*

思路:

具体见代码,具体参考http://blog.csdn.net/acvay/article/details/43021077

这里会出现一个count函数

algorithm头文件定义了一个count的函数,其功能类似于find。这个函数使用一对迭代器和一个值做参数,返回这个值出现次数的统计结果。

编写程序读取一系列int型数据,并将它们存储到vector对象中,然后统计某个指定的值出现了多少次

//#include <bits/stdc++.h>
#include<cstdio>
#include<iostream>
#include<queue>
#include<map>
#include<string.h>
#include<algorithm>
using namespace std; map<string,string>d[2];
map<string,string>::iterator it; void init()
{
d[0].clear();
d[1].clear();
}
string t[110];
void print(char c,int n)
{
sort(t,t+n);
cout<<c<<t[0];
for(int i=1;i<n;i++)
cout<<','<<t[i];
puts("");
} int main()
{
int T;
scanf("%d",&T);
while(T--)
{
init();
string s,a,b;
for(int i=0;i<2;++i)
{
cin>>s;
int j=1,len=s.size();
while(len>2&&j<len)
{
a=b="";
while(s[j]!=':')
a+=s[j++];
j++;
while(s[j]!=','&&s[j]!='}')
b+=s[j++];
j++;
d[i][a]=b;
//cout<<a<<":"<<b<<endl;
}
}
int c1,c2,c3;
c1=c2=c3=0;
//访问新字典,如果旧字典key不存在,那么就一定多了;
for(it=d[1].begin();it!=d[1].end();it++)
if(!d[0].count(it->first))
t[c1++]=it->first;
if(c1)
print('+',c1); //访问旧字典,如果新字典key不存在,那么就一定少了;
for(it=d[0].begin();it!=d[0].end();it++)
if(!d[1].count(it->first))
t[c2++]=it->first;
if(c2)
print('-',c2); //访问新字典,如果旧字典有,且值是不一样的,那么就是改变;
for(it = d[1].begin(); it != d[1].end(); ++it)
if(d[0].count(it->first)&&d[0][it->first]!=it->second) t[c3++]=it->first;
if(c3)
print('*',c3); //如果都没有;
if(!(c1 || c2 || c3)) puts("No changes");
puts("");
}
return 0;
}

UVA12504【C++STL运用】的更多相关文章

  1. 详细解说 STL 排序(Sort)

    0 前言: STL,为什么你必须掌握 对于程序员来说,数据结构是必修的一门课.从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来.幸运的是这些理论都已经比较成熟,算 ...

  2. STL标准模板库(简介)

    标准模板库(STL,Standard Template Library)是C++标准库的重要组成部分,包含了诸多在计算机科学领域里所常见的基本数据结构和基本算法,为广大C++程序员提供了一个可扩展的应 ...

  3. STL的std::find和std::find_if

    std::find是用来查找容器元素算法,但是它只能查找容器元素为基本数据类型,如果想要查找类类型,应该使用find_if. 小例子: #include "stdafx.h" #i ...

  4. STL: unordered_map 自定义键值使用

    使用Windows下 RECT 类型做unordered_map 键值 1. Hash 函数 计算自定义类型的hash值. struct hash_RECT { size_t operator()(c ...

  5. C++ STL简述

    前言 最近要找工作,免不得要有一番笔试,今年好像突然就都流行在线笔试了,真是搞的我一塌糊涂.有的公司呢,不支持Python,Java我也不会,C有些数据结构又有些复杂,所以是时候把STL再看一遍了-不 ...

  6. codevs 1285 二叉查找树STL基本用法

    C++STL库的set就是一个二叉查找树,并且支持结构体. 在写结构体式的二叉查找树时,需要在结构体里面定义操作符 < ,因为需要比较. set经常会用到迭代器,这里说明一下迭代器:可以类似的把 ...

  7. STL bind1st bind2nd详解

    STL bind1st bind2nd详解   先不要被吓到,其实这两个配接器很简单.首先,他们都在头文件<functional>中定义.其次,bind就是绑定的意思,而1st就代表fir ...

  8. STL sort 函数实现详解

    作者:fengcc 原创作品 转载请注明出处 前几天阿里电话一面,被问到STL中sort函数的实现.以前没有仔细探究过,听人说是快速排序,于是回答说用快速排序实现的,但听电话另一端面试官的声音,感觉不 ...

  9. STL的使用

    Vector:不定长数组 Vector是C++里的不定长数组,相比传统数组vector主要更灵活,便于节省空间,邻接表的实现等.而且它在STL中时间效率也很高效:几乎与数组不相上下. #include ...

随机推荐

  1. LeetCode: Binary Tree Postorder Traversal [145]

    [题目] Given a binary tree, return the postorder traversal of its nodes' values. For example: Given bi ...

  2. stretchableImageWithLeftCapWidth

    本文转载至 http://www.cnblogs.com/bandy/archive/2012/04/25/2469369.html (NSInteger)topCapHeight 这个函数是UIIm ...

  3. window.onerror 错误监听,发到后台

    var doc = document.body || document.documentElement; var _onerror = Onerror(''); var Onerror = funct ...

  4. cc、gcc、g++区别

    gcc是C编译器:g++是C++编译器:linux下cc一般是一个符号连接,指向gcc:gcc和g++都是GUN(组织)的编译器.而CC则一般是makefile里面的一个名字,即宏定义,嘿,因为Lin ...

  5. LuNamp和LuManager的目录结构

    /|---- etc/|-------- my.cnf #mysql配置文件|-------- ipfw.conf #ipfw防火墙的配置文件(仅FreeBSD)|---- home/|------- ...

  6. HTML中级教程 元标签

    元标签对浏览器窗口中的内容不做任何事情,它们用在关于页面的像搜索引擎的归类目录信息中. 元标签meta可以使用尽可能多次如你所需,包括内容属性content(必须的).名称属性name和http-eq ...

  7. HDU5015 233 Matrix —— 矩阵快速幂

    题目链接:https://vjudge.net/problem/HDU-5015 233 Matrix Time Limit: 10000/5000 MS (Java/Others)    Memor ...

  8. 小程序observer函数的应用

    需求是这样的 就是构建月份的组件中,月份小于10月的时候 显示的数字都是一个位数,需要转换成两位数, 比如8月份是8 ,那就要转换为08 ,同理可得 其他低于十月份的月份也是要这样做: 打开组件的js ...

  9. iPhone HTTP获得XML并使用GDataXML解析

    1. [代码][C/C++]代码     NSURL *url = [NSURL URLWithString:  @"http://www.raywenderlich.com/downloa ...

  10. BZOJ1566 【NOI2009】管道取珠

    题面 这是一道DP神题,直到我写下这句题解时也没有想明白…… 首先,这道题要我们求所有(不同输出序列的方案数)的平方和,于是我们当然就想到求所有不同输出序列的方案数……(大雾) .这道题一个巧妙的地方 ...