题意:给定一些姓名的原来姓名和修改后的名字,由于一个名字可以被修改多次,所以求所有用户的初始姓名和当前姓名。

思路:暴力。数据量很小,对于每次修改直接判断其是否有原来的名字即可,有的话更新,没有就作为新用户push进去。

code:

#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <sstream>
#include <string>
#include <vector>
#include <list>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <bitset>using namespace std;typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;const int INF=0x3fffffff;
const int inf=-INF;
const int N=1000000;
const int M=1005;
const int mod=1000000007;
const double pi=acos(-1.0);#define cls(x,c) memset(x,c,sizeof(x))
#define cpy(x,a) memcpy(x,a,sizeof(a))
#define fr(i,s,n) for (int i=s;i<=n;i++)
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define lrt  rt<<1
#define rrt  rt<<1|1
#define middle int m=(r+l)>>1
#define lowbit(x) (x&-x)
#define pii pair<int,int>
#define mk make_pair
#define IN freopen("in.txt","r",stdin);
#define OUT freopen("out.txt","w",stdout);
struct node
{string last,next;
}v[M];
int main()
{int q,len=0;string la,ne;scanf("%d",&q);while (q--){cin>>la>>ne;int f=1;for (int i=0;i<len;i++)if (v[i].next==la){v[i].next=ne;f=0;break;}if (f) v[len].last=la,v[len++].next=ne;}printf("%d\n",len);fr(i,0,len-1){cout<<v[i].last<<" "<<v[i].next<<endl;}
}

CodeForces 501B——Misha and Changing Handles相关推荐

  1. CodeForces 501B - Misha and Changing Handles

    有N个改名的动作,输出改完名的最终结果. 拿map做映射 1 #include <iostream> 2 #include <map> 3 #include <strin ...

  2. 【Codeforces】501B Misha and Changing Handles(map)

    http://codeforces.com/problemset/problem/501/B map的应用,让新的名字作为key值,旧的名字作为value值,然后一一对应.如果这个旧名字不在map里, ...

  3. codeforce B. Misha and Changing Handles

    题目链接:     http://codeforces.com/contest/501/problem/B Sample test(s) Input 5 Misha ILoveCodeforces V ...

  4. Codeforces--501B--Misha and Changing Handles

    题目描述: Misha hacked the Codeforces site. Then he decided to let all the users change their handles. A ...

  5. CodeForces - 504B Misha and Permutations Summation(线段树模拟康托展开与逆展开)

    题目链接:点击查看 题目大意:给出两个排列 ppp 和 qqq,现在要求输出 Perm((Ord(p)+Ord(q))modn!)Perm((Ord(p)+Ord(q)) \bmod n!) Perm ...

  6. CodeForces - 501C Misha and Forest(拓扑排序)

    题目链接:点击查看 题目大意:给出一个无环无向图,但给出的形式是只给出每个节点的度数以及所有相邻节点的异或和,要求我们还原出原图,表示出每条边即可 题目分析:既然是无环无向图,那么题目给出的就是一棵树 ...

  7. 很有趣的STL初学资料

    1.泛型程序设计简介与迭代器的介绍 2.常见的STL容器及其例题应用(UVA10474,UVA101,UVA10815,UVA156,UVA540,UVA136 HDU1027,CF501B,HDU1 ...

  8. Codeforces 504 A (Round #285 div.1 A) Misha and Forest

    Codeforces Round #285 (Div.1) A Misha and Forest 水题水题水-- 题意:给你一些点,给出他们连通了多少个点以及这些点的下标的异或值,让你找出一个图 题解 ...

  9. CodeForces - 1593G Changing Brackets(思维)

    题目链接:点击查看 题目大意:给出一个长度为 nnn 的括号序列,其中包含了 {(,),[,]}\{(,),[,]\}{(,),[,]} 四种括号,现在可以进行两种操作: 将括号反转,代价为 000, ...

最新文章

  1. HTTP/2 h2 协议简介
  2. Python-14-常用模块
  3. hadoop 依赖式job_Hadoop Job使用第三方依赖jar文件
  4. 热点的ap频段哪个快_小米9手机热点无法使用:建议2.4G+5G 信号同时输出,提高兼容性...
  5. 【LeetCode 剑指offer刷题】查找与排序题14:Wiggle Sort(系列)
  6. 【Notes6】ajaxjson,校验用户名,自动提示,CORS,/swagger开发rest,Websocket,DNS
  7. 深山红叶PE工具箱嫦娥一号纪念版 V30[1115]
  8. 【OpenGL4.0】GLSL渲染语言入门与VBO、VAO使用:绘制一个三角形
  9. 【转】[原创]LoadRunner如何监控Linux系统资源
  10. php168为什么抛弃重新开发x1,在今天518这个特别的日子里,我们经过将近一年来,日以继夜努力研发出的X1正式对外公开发布!...
  11. ROS笔记(17) Gazebo
  12. 【机器学习】输出层的设计
  13. 五、谈扩展方法的理解
  14. 给硬盘分个整数大小的区
  15. ExamDiff Pro(电脑文件对比工具)官方正式版V12.0.1.8 | 最好用的文件对比工具之一文件内容对比工具下载
  16. 一维卷积神经网络原理,卷积神经网络原理简述
  17. idea无法找到主启动类_IDEA打包jar-解决找不到或无法加载主类 main的问题
  18. 购物直播系统搭建 新型电商开发方案
  19. 浅析计算机用户身份识别技术,(浅析身份认证技术.doc
  20. c语言中的绝对值符号

热门文章

  1. CSS 小结笔记之滑动门技术
  2. 执行点击事件,第一次点击后,一切正常,第二次点击,执行两次,以此类推
  3. 【C++】满二叉树问题
  4. 写一个函数的程序,判断是否是浮点数
  5. 简单好用的计算器:bc
  6. 自定义控件_VIewPager显示多个Item
  7. MST:Bad Cowtractors(POJ 2377)
  8. php7如何安装swoole,PHP7如何安装Swoole?
  9. 远程教育英语和计算机没过怎么办,网络教育英语统考能考几次 没考过怎么办?...
  10. 会计电算化的过程 实质上是用计算机,会计电算化的过程,实质上是用计算机()的过程。A.单一地替代手工会计操作B.单一地替代对会计进行分...