其他分享
首页 > 其他分享> > P5514 [MtOI2019]永夜的报应

P5514 [MtOI2019]永夜的报应

作者:互联网

题意描述

[MtOI2019]永夜的报应

将 \(n\) 个数任意分组,组内进行异或操作,组外进行加法操作,求最小结果。

算法分析

签到好题。

可以证明 \(a\) ^ \(b \leq a+b\)。

所以直接将所有数分一组即可。

代码实现

#include<cstdio>
using namespace std;

int read(){
	int x=0,f=1;char c=getchar();
	while(c<'0' || c>'9') f=(c=='-')?-1:1,c=getchar();
	while(c>='0' && c<='9') x=x*10+c-48,c=getchar();
	return x*f;
}

int main(){
	int n=read();
	int ans=read();
	for(int i=2;i<=n;i++){
		int x=read();
		ans^=x;
	}
	printf("%d\n",ans);
	return 0;
}

完结撒花

标签:int,P5514,MtOI2019,while,永夜,报应,getchar
来源: https://www.cnblogs.com/lpf-666/p/13976654.html