3 条题解
-
0
这道题可以用异或 我们来看一看某度对异或的解释
异或运算:异或也叫半加运算 其运算法则相当于不带进位的二进制加法 二进制下用1表示真,0表示假 则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1) 特性:0和任何数做异或运算都等于这个数本身,即0^N=N
同为0,异为1所以说成双的筷子异或后就为0了,只剩落单的那一只 而且0和任何数做异或运算都等于这个数本身,只需把0和落单的筷子长度异或,最后的结果就是落单的筷子长度了
ACcode:
#include <iostream> #include <cstdio> using namespace std; int n,x; int main() { scanf("%d",&n); int sum = 0; for (int i = 0; i < n; i++) { scanf("%d", &x); sum ^= x; } printf("%d", sum); return 0; }
- 1
信息
- ID
- 469
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 2
- 标签
- 递交数
- 53
- 已通过
- 34
- 上传者