ZOJ 3432 Find the Lost Sock (异或的运用)
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
题意:
有2*n-1个袜子,叫你找出不能配对的那个袜子。
只有一个出现奇数次,答案就是它了:
#include<cstdio> #include<cstdlib> #include<iostream> #include<cstring> #include<memory.h> using namespace std; char s[10],c; int main() { int n; while(~scanf("%d\n",&n)){ for(int i=0;i<=7;i++) s[i]='\0'; for(int i=1;i<2*n;i++){ for(int j=0;j<8;j++){ c=getchar(); s[j]=s[j]^c; } } printf("%s",s); } return 0; }
It is your time to fight!