列表

详情


NC232720. 圣

描述

给定 n 个数 a_i,求值:,其中符号 ,另外两个符号同理。

例如 时即计算: 的值。



(摘自 oiwiki)

伪代码:init() 读入,print() 输出 T ← init() for k ← 1 .. T     n ← init()     for i ← 1 .. n         a[i] ← init()     ans ← 0     for i ← 1 .. n         tp ← 0         for j ← 1 .. n             tp ← tp or (a[i] and a[j])         ans ← ans xor tp     print(ans) C/C++ 语言版: for (k = 1; k <= T; ++k) {   n = init();   for (i = 1; i <= n; ++i)     a[i] = init();   ans = 0;   for (i = 1; i <= n; ++i) {     tp = 0;     for (j = 1; j <= n; ++j)       tp |= (a[i] & a[j]);     ans ^= tp;   } } 

输入描述

全文第一行输入一个正整数 ,表示数据组数。

对每组数据,第一行输入一个正整数

第二行输入 n 个正整数,表示

输出描述

对每组数据,输出一行一个整数表示答案。

示例1

输入:

1
2
1 1

输出:

0

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++ 解法, 执行用时: 538ms, 内存消耗: 1608K, 提交时间: 2022-07-18 06:55:29

#include<iostream>
using namespace std;
int main()
{
	int t,n;
	cin>>t;
	while(t--)
	{
		int p,sum=0;
		cin>>n;
		while(n--)
		{
			cin>>p;
			sum=sum^p;
		}
		cout<<sum<<endl;
	}
}

pypy3 解法, 执行用时: 1244ms, 内存消耗: 32960K, 提交时间: 2023-07-10 20:57:07

for _ in range(int(input())):
    ans = 0
    input()
    for x in map(int, input().split()):
        ans ^= x
    print(ans)

Python3 解法, 执行用时: 1600ms, 内存消耗: 13760K, 提交时间: 2023-05-25 23:41:06

for _ in range(int(input())):
    input()
    ans=0
    for x in map(int,input().split()):
        ans^=x
    print(ans)

上一题