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;
    }
  • 相关阅读:
    python Database Poll for SQL SERVER
    SQLAlchemy表操作和增删改查
    flask动态url规则
    flask配置管理
    一个Flask运行分析
    Function Set in OPEN CASCADE
    Happy New Year 2016
    Apply Newton Method to Find Extrema in OPEN CASCADE
    OPEN CASCADE Multiple Variable Function
    OPEN CASCADE Gauss Least Square
  • 原文地址:https://www.cnblogs.com/sky-stars/p/10994917.html
Copyright © 2011-2022 走看看