Find the Lost Sock
Posted ww123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.
输入
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.
输出
The name of the lost sock.
样例输入
2
aabcdef
bzyxwvu
bzyxwvu
4
aqwerty
eas fgh
aqwerty
easdfgh
easdfgh
aqwerty
aqwerty
2
0x0abcd
0ABCDEF
0x0abcd
样例输出
aabcdef
eas fgh
0ABCDEF
提示
Because of HUGE input, scanf is recommended.
解题思路:
数据量很大,用map存会超时。由于一位学长的指点,了解到了按位异或,当一个数出现了两次的时候就会抵消,所以我们只要不断按位异或,最后剩下的就是答案。
比如 1 1 3 2 2
我们只要按位异或 1->0->3->1->3
最后的3便是所求的答案。
#include <bits/stdc++.h> using namespace std; int main() { int n,m,i,j,k; while(cin>>n) { getchar(); int s[8]={0};char a[10]; for(i=1;i<=2*n-1;i++) { gets(a); for(j=0;j<7;j++) s[j]=s[j]^(char)a[j]; } for(i=0;i<7;i++) cout<<(char)s[i]; cout<<"\n"; } }
以上是关于Find the Lost Sock的主要内容,如果未能解决你的问题,请参考以下文章
「网易官方」极客战记(codecombat)攻略-网页开发2-JavaScript: 书库迷失-javascript-lost-in-the-stacks
「网易官方」极客战记(codecombat)攻略-网页开发2-JavaScript: 书库迷失-javascript-lost-in-the-stacks
Connection lost: The server closed the connection