/**
* Note: The returned array must be malloced, assume caller calls free().
*/
// 下标和对应位置的值都一样,answer[0]+1,对应位置的值猜对了,但是下标不对,answer[1]+1
int* masterMind(char* solution, char* guess, int* returnSize){
*returnSize = 2;
int* answer = (int*)calloc(*returnSize, sizeof(int));
int s_a[26] = {0};
int g_a[26] = {0};
for(int i = 0; i < 4; i++)
{
// 真实猜中的
if(solution[i] == guess[i])
{
answer[0] += 1;
}
else // 伪猜中
{ // 使用子母的ANSCII码来当下标,避免其位置重复
s_a[solution[i]-'A'] += 1; // 减掉‘A’之后得到的是26个数字中的其中一个
g_a[guess[i]-'A'] += 1;
}
}
for(int i = 0; i < 26; i++)
{
answer[1] += g_a[i] > s_a[i] ? s_a[i] : g_a[i];
}
return answer;
}
#include <stdio.h>
int main() {
int n;
scanf("%d",&n);
int arr[n];
int ans = 0;
for(int i = 0; i < n; i++)
{
scanf("%d",&arr[i]);
ans ^= arr[i];
}
printf("%d",ans);
return 0;
}