A Serial Killer

来源:互联网 发布:你快乐所以我快乐 知乎 编辑:程序博客网 时间:2024/05/21 23:00

题目链接  http://codeforces.com/problemset/problem/776/A

A. A Serial Killer
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Our beloved detective, Sherlock is currently trying to catch a serial killer who kills a person each day. Using his powers of deduction, he came to know that the killer has a strategy for selecting his next victim.

The killer starts with two potential victims on his first day, selects one of these two, kills selected victim and replaces him with a new person. He repeats this procedure each day. This way, each day he has two potential victims to choose from. Sherlock knows the initial two potential victims. Also, he knows the murder that happened on a particular day and the new person who replaced this victim.

You need to help him get all the pairs of potential victims at each day so that Sherlock can observe some pattern.

Input

First line of input contains two names (length of each of them doesn't exceed 10), the two initials potential victims. Next line contains integer n (1 ≤ n ≤ 1000), the number of days.

Next n lines contains two names (length of each of them doesn't exceed 10), first being the person murdered on this day and the second being the one who replaced that person.

The input format is consistent, that is, a person murdered is guaranteed to be from the two potential victims at that time. Also, all the names are guaranteed to be distinct and consists of lowercase English letters.

Output

Output n + 1 lines, the i-th line should contain the two persons from which the killer selects for the i-th murder. The (n + 1)-th line should contain the two persons from which the next victim is selected. In each line, the two names can be printed in any order.

Examples
input
ross rachel4ross joeyrachel phoebephoebe monicamonica chandler
output
ross racheljoey racheljoey phoebejoey monicajoey chandler
input
icm codeforces1codeforces technex
output
icm codeforcesicm technex
题目大意:

有个连环杀人犯,每天都会从两个人中选择一个人杀掉。举一组测试数据吧说明题意吧,这样容易理解题意。就按照第一组测试数据:第一行两个字符串分别代表两个人的名字,杀人犯第一天要从这两个人中选择一个人杀掉。第二行 4 表示天数,下面四行,每行两个人的名字(的第一个人的名字表示在这一天将要被杀的,第二个字符串表示又遇见的人,下面的字符串意思一样)。题目要求输出当天没有被杀掉的人。

解题思路:

大家主要是题意没看懂,看懂题意后代码就不难了。唯一需要注意的是输出的第一行就是输入的第一行......

代码:

#include<iostream>#include<string>using namespace std;int main(){    string s1,s2,s3[1005],s4[1005];    int n;    while(cin>>s1>>s2)    {        cin>>n;        for(int i=0;i<=n-1;i++)            cin>>s3[i]>>s4[i];        cout<<s1<<' '<<s2<<endl;        for(int i=0;i<=n-1;i++)        {            if(s3[i]==s1)            {                cout<<s2<<' '<<s4[i]<<endl;                s1=s2;                s2=s4[i];                continue;            }            if(s3[i]==s2)            {                cout<<s1<<' '<<s4[i]<<endl;                s2=s4[i];                continue;            }        }    }    return 0;}


原创粉丝点击