题目描述:

解题思路:

1.根据:和,获得字符串

2.使用两个map进行比较;

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <string>
 4 #include <map>
 5 using namespace std;
 6 map<string, string>::iterator it;
 7 map<string,string> dict[2];
 8 string str[105];
 9 int main(int argc, char *argv[])
10 {
11     int t ;
12     cin >> t;
13     while(t--)
14     {
15         dict[0].clear(), dict[1].clear();
16         for(int i=0;i<2;i++)
17         {
18             string s,t1,t2;
19             cin >> s ;
20             int j=1,len = s.size() ;
21             while(j < len && len > 2)
22             {
23                 while(s[j]!=':') t1 += s[j++] ; ++j ;
24                 while(s[j]!=',' && s[j]!='}') t2 += s[j++] ; ++j ;
25                 dict[i][t1] = t2 ;
26                 t1 = t2 = "" ;
27             }
28         }
29         int a=0,s=0,m=0;
30         for(it=dict[1].begin();it != dict[1].end();it++)
31             if(!dict[0].count(it->first)) str[a++] = it->first;
32         if(a)
33         {
34             sort(str,str+a);
35             cout << "+" << str[0]  ;
36             for(int i = 1; i < a; ++i) cout << ',' << str[i];
37             puts("");
38         }
39         for(it=dict[0].begin();it != dict[0].end();it++)
40             if(!dict[1].count(it->first)) str[s++] = it->first;
41         if(s)
42         {
43             sort(str,str+s);
44             cout << "-" << str[0]  ;
45             for(int i = 1; i < s; ++i) cout << ',' << str[i];
46             puts("");
47         }
48         for(it=dict[1].begin();it != dict[1].end();it++)
49             if(dict[0].count(it->first)&&dict[0][it->first] != it->second) str[m++] = it->first;
50         if(m)
51         {
52             sort(str,str+m);
53             cout << "*" << str[0]  ;
54             for(int i = 1; i < m; ++i) cout << ',' << str[i];
55             puts("");
56         }
57         if(!(a || s || m)) puts("No changes");
58         puts("");
59     }
60     return 0;
61 }

转载于:https://www.cnblogs.com/secoding/p/9495592.html

更新字典 (Updating a Dictionary,UVa12504)相关推荐

  1. 在Pycharm中对字典的键值作更新时提示“This dictionary creation could be rewritten as a dictionary literal ”的解决方法

    在Pycharm中对字典的键值作更新时提示"This dictionary creation could be rewritten as a dictionary literal " ...

  2. 【零散知识】字典学习(Dictionary Learning)

    前言: { 之前的神经网络实践还卡在硬件上,不过目前已经打算先使用云设备,下次应该就会继续进行多目标识别的调试.这次就先写一点零散知识. 在专利[1]中我遇到了新的观点--字典学习(Dictionar ...

  3. 字典学习(Dictionary Learning, KSVD)详解

    注:字典学习也是一种数据降维的方法,这里我用到SVD的知识,对SVD不太理解的地方,可以看看这篇博客:<SVD(奇异值分解)小结 >. 1.字典学习思想 字典学习的思想应该源来实际生活中的 ...

  4. 『ML笔记』深入浅出字典学习2(Dictionary Learning)

    深入浅出字典学习2(Dictionary Learning) 文章目录 一.理解K-SVD字典学习 二.K-SVD字典学习算法概述 2.1.随机初始化字典D 2.2.固定字典,求取每个样本的稀疏编码 ...

  5. 字典学习(Dictionary Learning)

    字典学习(Dictionary Learning) SparseCoder和DictionaryLearning的关系是什么? sklearn.decomposition: Matrix Decomp ...

  6. python update函数会调用哪些内置函数_Python字典的内置函数中没有 append()操作,可以用 update()来更新字典内容...

    Python字典的内置函数中没有 append()操作,可以用 update()来更新字典内容 答:√ 在同一代昭穆的兄弟中,以年岁序位. 答:对 <舆服志>主要描写了唐代的流行服饰样式, ...

  7. 【python学习】-字典学习(访问字典所有键与值、修改与更新字典、删除字典)

    字典学习 字典基本语法 创建字典 访问字典 通过键访问值 访问字典所有键 访问字典所有值 修改字典 通过键修改对应值 在一个字典后面添加一个新字典 定义新的键来添加字典元素 删除字典元素 通过键对删除 ...

  8. 『ML笔记』深入浅出字典学习1(Dictionary Learning)

    目录 一.预备知识 二.字典学习以及稀疏表示的概要 2.1.我们为什么需要字典学习? 2.2.我们为什么需要稀疏表示? 三.下一节 参考文献 一.预备知识 稀疏向量:假设向量中的元素绝大部分为零元素, ...

  9. python字典更新_python如何更新字典?

    python中可以使用update()函数更新字典. update()方法语法:dict.update(dict2)D.update(key/value) 参数 dict2 -- 添加到指定字典dic ...

最新文章

  1. 一次图文并茂的***完整测试二
  2. 会唱歌、会弹琴,清华大学 AI 学生华智冰火了
  3. 批量 kill mysql 中运行时间长的sql
  4. lisp 绘制立体感的五角星_几何作图的方法、例子、解答及札记
  5. generator探幽(1)--koa中间件机制浅析
  6. 玩转Google开源C++单元测试框架Google Test系列(gtest)之八 - 打造自己的单元测试框架
  7. Netweaver和Windows,Ubuntu的数据共享
  8. 沈向洋对于工程技术人员的十点经验分享
  9. cdn节点人少延迟高_让你刷剧一直爽,CDN原理是什么
  10. 拳王虚拟项目公社:分享一个大学生上班族都可做的虚拟副业项目
  11. JDBC(实现增删改查的通用操作)
  12. MySQL管理工具:mysql、mysqladmin、mysqldump
  13. 指针以及二重指针的理解
  14. 基于微信小程序计算机基础答疑系统设计与实现
  15. python 序列去重并保持原始顺序
  16. gpu cpu交互_CPU和GPU如何交互以渲染计算机图形?
  17. python统计学生平均成绩和及格人数_SQL 查询:查询学生平均成绩
  18. 团队管理19--团队分工
  19. 我平时的一个学习方法
  20. 安装.net补丁后mscorsvw.exe占CPU100%的问题

热门文章

  1. android非法字符 ufeff,Java-在Android Studi上编译时出现错误(1,1)非法字符'\ ufeff'...
  2. php 面向对象的理解,我对php面向对象的细微理解
  3. git reflog
  4. transformers tokenizer_summary
  5. Linux线程同步介绍和示例
  6. 2020年海南大学计算机调剂,2020年海南大学招收调剂生
  7. vCenter 6.7 shell 和 SSH开启
  8. 压测学习总结(3)——Jmeter 脚本如何生成
  9. Mysql学习总结(44)——Linux下如何实现mysql数据库每天自动备份定时备份
  10. java用netty做tcpserver接收c++消息_netty案例,netty4.1基础入门篇四《NettyServer收发数据》...