Good Bye 2019 C. Make Good

Posted wyh447154317

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Good Bye 2019 C. Make Good相关的知识,希望对你有一定的参考价值。

https://codeforces.com/contest/1270/problem/C

思路:利用异或的性质 a^a=0 先加一项把之前的异或和的影响消去 再加一项使得满足s=2x

s+x+y=2y y=s+x

官方:

技术图片

 

 

#include<bits/stdc++.h>
#define ll long long
using namespace std;

int main(){
    int T;
    ios::sync_with_stdio(false);cin.tie(0);
    cin>>T;
    while(T--){
        int n,x=0;
        ll s=0;
        cin>>n;
        for(int i=0;i<n;i++){
            int a;
            cin>>a;
            s+=a;
            x^=a;
        }
    cout<<2<<endl;
    cout<<x<< <<s+x<<endl;    
    }
    return 0;
}

以上是关于Good Bye 2019 C. Make Good的主要内容,如果未能解决你的问题,请参考以下文章

Good Bye 2016 C. New Year and Rating

Codeforces Good Bye 2017 C. New Year and Curling 几何枚举

Good Bye 2019

Good Bye 2019

Good Bye 2019

C. Make It Good1200 / 思维 贪心