数学_异或的应用(HDU_1287)

1. a ^ b = b ^ a ;
 
2. a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c ; 
 
3. d = a ^ b ^ c  可以推出 a = d ^ b ^ c ;
 
4. a ^ b ^ a = b .
 
#include <stdio.h>
#include <string.h>

#define M 1002

int id[M];

int main()
{
//    freopen("in.txt","r",stdin);
    int n;
    while(scanf("%d",&n) != EOF)
    {
        for(int j=0; j<n; j++)
            scanf("%d",&id[j]);
        for(char i='A'; i<='Z'; i++)
        {
            for(j=0; j<n; j++)
            {
                char ch = id[j] ^ i;
                if(ch < 'A' || ch > 'Z')    break;
            }
            if(j == n)    break;
        }
        for(j=0; j<n; j++)
            printf("%c",id[j] ^ i);
        printf("
");
    }
    return 0;
}
原文地址:https://www.cnblogs.com/lk1993/p/3258934.html