题解 | #踩不出足迹

活着的证据

https://ac.nowcoder.com/acm/contest/11178/A

【C.踩不出足迹】打表能发现规律,无论数组是什么,只会出现两种结果,cur=a_1 ^ a_2 ^...^ a_n和对cur逐位取反。
取一个max就行了。

from math import *


n,k = input().split(' ')
n = int(n)
k = int(k)
a = input().split(' ')

def f(cur):
    res = 0
    for i in range(k):
        if (cur & (1<<i)) == 0:
            res = res | (1<<i)
    return res


for i in range(n):
    a[i] = int(a[i])

if n == 1:
    print(a[0])
else:
    cur = a[0]
    for i in range(1, n):
        cur ^= a[i]
    print(max(cur, f(cur)))
全部评论
打表的话,就是对于数组中每一个数选择是同或或者异或,总共2 的k次方种吗?
点赞 回复 分享
发布于 2021-09-11 10:00

相关推荐

06-11 17:39
门头沟学院 Java
小呆呆的大鼻涕:卧槽,用户彻底怒了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务