题意概要
给出两个整数 n , m n,m n,m,判断是否存在一个长度为 m m m 的序列 a a a,满足以下条件。
-
数列中的元素为正整数。
-
a 1 ⊕ a 2 ⊕ ⋯ ⊕ a m = n a_1 \oplus a_2 \oplus \dots \oplus a_m=n a1⊕a2⊕⋯⊕am=n,
即序列 a a a 的所有项异或得到的结果等于 n n n。 -
数列 a a a 中所有元素的值都相同。
思路讲解
仔细观察,不难发现 x ⊕ x = 0 ( x ∈ N ) x \oplus x=0(x \in \N) x⊕x=0(x∈N),且 0 ⊕ x = x ( x ∈ N ) 0 \oplus x=x(x \in \N) 0⊕x=x(x∈N)。根据这两条公式,可得出以下结论。
当 m m m 为奇数时, a 1 ⊕ a 2 ⊕ ⋯ ⊕ a m = a m ( m m o d 2 = 1 ) a_1 \oplus a_2 \oplus \dots \oplus a_m=a_m(m \bmod 2=1) a