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.
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来做,不过超时。