zoukankan      html  css  js  c++  java
  • 【CodeForces

    Misha and Changing Handles

    CodeForces原题是英文,这里就直接上中文好了,翻译不是太给力,但是不影响做题

    ^▽^

    Description 

    神秘的三角洲里还有一个传说中的谜题等你来解开!
    三角洲里的小学生小明是个小天才,知天文晓地理还能夜观星象算命,好多疯狂的小朋友都想去请他给自己换个好听的名字。但是天才小明,他总是在思考31维宇宙空间的奥秘,神游天外,所以在给小朋友们敲他们想要的名字的时候,偶尔会取出一些不那么完美的名字。有的小朋友们换了名字以后不太满意,于是它们又会顶着改好的新名字来找小明。
    可怜的小明,他沉迷宇宙的奥秘,有的小朋友名字换的次数太多,他已经快要记不清他们初始的名字和最后的名字是什么了,再这样下去,小朋友们会不满意,他取名字的业务就要滞销了!!!请你帮他整理一下每个小朋友的初始名字和最后敲定的名字。

    Input

    第一行表示有q个请小明帮忙改名字的请求。1<=q<=1000.
    接下来q行,每行有两个字符串,代表这次来的小朋友现在的名字,和小明这回给它起的名字,这两个字符串由1个空格分开,字符串有大小写字母和数字,长度不超过20.

    Output

    输出一个n,代表来找过小明修改名字的人数。
    接下来n行,每行一个人的最初始的名字,再输出小明最终给它起的名字。 (人的顺序随意)

    Examples

    Input
    5
    Misha ILoveCodeforces
    Vasya Petrov
    Petrov VasyaPetrov123
    ILoveCodeforces MikeMirzayanov
    Petya Ivanov
    Output
    3
    Petya Ivanov
    Misha MikeMirzayanov
    Vasya VasyaPetrov123

    题目链接:

    https://vjudge.net/problem/CodeForces-501B

    新名字要和旧名字一一对应,用map再好不了,如果有新名字了,就及时更新,更新完之后记得删去旧名字(不是原始名字)

    AC代码:

    #include <iostream>
    #include <cstdio>
    #include <fstream>
    #include <algorithm>
    #include <cmath>
    #include <deque>
    #include <vector>
    #include <queue>
    #include <string>
    #include <cstring>
    #include <map>
    #include <stack>
    #include <set>
    #include <sstream>
    #define mod 1000000007
    #define ll long long
    #define INF 0x3f3f3f3f
    #define ME0(x) memset(x,0,sizeof(x))
    using namespace std;
    map<string,string>name;//新名字与老名字一一对应
    map<string,string>::iterator it;
    int main()
    {
        int n;
        int sum=0;
        cin>>n;
        while(n--)
        {
            string s1,s2;
            cin>>s1>>s2;
            if(!name.count(s1))//判断这个名字是否出现过
                name[s2]=s1;
            else//如果出现则更新
            {
                name[s2]=name[s1];
                name.erase(s1);//记得删去上一个老名字
            }
        }
        cout<<name.size()<<endl;//检查有几组映射
        for(it=name.begin(); it!=name.end(); it++)//遍历即可
            cout<<it->second<<" "<<it->first<<endl;
    }
  • 相关阅读:
    原创js脚本实现百度网盘任意文件强制下载
    百度网盘大文件直接下载与下载提速的简单方法
    MVP架构的一个小例子
    PCQQ
    WPF
    百度网盘的限速破解
    何德何能?
    Maven多模块+SpringBoot 编译失败:程序包xxx不存在
    将Spring Boot项目部署到阿里云服务器上(二、安装MySQL服务器)
    将Spring Boot项目部署到阿里云服务器上(一、安装JDK)
  • 原文地址:https://www.cnblogs.com/sky-stars/p/10994917.html
Copyright © 2011-2022 走看看