问题7204--巨型通信

7204: 巨型通信

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 256 MiB

题目描述

【题目描述】

你最好的朋友亚当最近买了一台树莓派和一些设备,包括一个无线温度传感器和一个433MHz接收器,用来接收传感器发送的信号。亚当计划使用树莓派作为他的天气传感器的门内显示器。由于他非常擅长电子技术,他很快就设法让接收器接收传感器的信号。然而,当他查看传感器发送的字节时,他无法识别它们的头部或尾部。在浏览了很多网站几个小时后,他发现了一份文件,解释说他的天气传感器会扰乱它发送的数据,以防止它与其他制造商的产品一起使用。

幸运的是,该文档还描述了传感器是如何扰乱通信的。该文档指出,传感器将表达式x^x<<1)应用于发送的每个字节。^运算符是位XOR,例如10110000^01100100=11010100<<运算符是字节值左移,例如10111001<<1=01110010

为了让Adam's Raspberry Pi正确解释天气传感器发送的字节,需要对传输进行解扰。然而,Adam并不擅长编程(实际上他是一个相当糟糕的程序员)。所以他请你帮助他,作为一个好朋友,你总是乐于助人。你能帮亚当实现解扰算法吗?

【输入】

一行带有整数n1n100000),即天气传感器发送的消息中的字节数;

一行具有n个整数b1,...,bn(对于所有i0bi255),消息的字节值。

【输出】

输出n个字节的值(以十进制编码),即未加扰的消息。

【样本输入1

5

58 89 205 20 198

【样本输出1

22 55 187 12 66

【说明】

在逐位XOR中,结果的第i位是1,当且仅当两个自变量中恰好有一个设置了第i位。

x<<j中,x的位向左移动j步。xj个最高有效位被丢弃,并且j个零被添加作为结果的最低有效位。

样例输入 复制

5
58 89 205 20 198

样例输出 复制

22 55 187 12 66

来源/分类