异或解题:Find the Lost Sock

I - Find the Lost Sock
Time Limit:2000MS    Memory Limit:65536KB    64bit IO Format:%lld & %llu
Submit Statuse

Description

Alice bought a lot of pairs of socks yesterday. But when she went home, she found that she has lost one of them. Each sock has a name which contains exactly 7 charaters.

异或解题:Find the Lost Sock_第1张图片

Alice wants to know which sock she has lost. Maybe you can help her.

Input

There are multiple cases. The first line containing an integer n (1 <=n <= 1000000) indicates that Alice bought n pairs of socks. For the following 2*n-1 lines, each line is a string with 7 charaters indicating the name of the socks that Alice took back.

Output

The name of the lost sock.

Sample Input

2
aabcdef
bzyxwvu
bzyxwvu
4
aqwerty
eas fgh
aqwerty
easdfgh
easdfgh
aqwerty
aqwerty
2
0x0abcd
0ABCDEF
0x0abcd

Sample Output

aabcdef
eas fgh
0ABCDEF

Hint

Because of HUGE input, scanf is recommended.

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <map>
#include <cmath>

using namespace std;

int main(){
    int n;
    int i;
    int m, j;
    map <string ,int >mm;
    string str;
    char str1[1000];
    while(cin >> n){
        m = n * 2 - 1;
        getchar();
        scanf("%[^\n]", &str1);
        str = str1;
        for(i = 1; i < m; i ++){
            getchar();
            scanf("%[^\n]",&str1);
            for(j = 0; j < 7; j ++)
                str[j] ^= str1[j];
        }
        for(i = 0; i < 7; i ++)
            cout << str[i];
        cout << endl;
    }
    return 0;
}



此题也可用map来做,不过超时。

你可能感兴趣的:(String,IO,Integer,input,each,64bit)