ZCMU-1416 Find the Lost Sock(异或)

1416: Find the Lost Sock

Time Limit: 2 Sec  Memory Limit: 128 MB
Submit: 364  Solved: 83
[Submit][Status][Web Board]

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

easafgh

aqwerty

easdfgh

easdfgh

aqwerty

aqwerty

2

0x0abcd

0ABCDEF

0x0abcd

Sample Output

aabcdef

easafgh

0ABCDEF

【分析】又又又是异或-_-||  异或有结合律,且两个相同的数据进行异或结果为0,任何数据和0异或是它本身,因此把所有的字符串进行异或,得到的结果就是没有配对的即所求的字符串。

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int t;	
	char a[10];
	char s[8];
	while(~scanf("%d",&t))
	{
		int i,j;
		cin>>a;    //先输入一个字符串
		for(i=1;i<2*t-1;i++)
		{
			cin>>s;
			for(j=0;j<7;j++)
				a[j]^=s[j];    
		}
		printf("%s\n",a);
	}
}

猜你喜欢

转载自blog.csdn.net/qq_38735931/article/details/81434134