搞出来了,有一个测试点有问题一直过不了,貌似因为他有一行里包含了两个数,所以在转换成int的时候报错了,这也意味着那个测试点里面的数没有n+1行输入,所以也不能用for循环,得改成while循环,然后以列表读取。 n,m=map(int, input().split()) a=[] while len(a)<n:     a+=list(map(int, input().split())) a.sort() res=0 for i in range(1,n):     x=a[i-1]     y=a[i]     ans=0     for j in range(m):         if x>>j&1==y>>j&1:             ans+=1<<j     res=max(res,ans) print(res)