Codeforces Round #563 (Div. 2)

A.Ehab Fails to Be Thanos

#include <bits/stdc++.h>
static const int MAXN=2050;
using namespace std;
int n,res1,res2,a[MAXN];
int main(){
    cin>>n;
    for(int i=1;i<=(n<<1);i++) cin>>a[i];
    sort(a+1,a+(n<<1)+1);
    for(int i=1;i<=n;i++) res1+=a[i];
    for(int i=n+1;i<=(n<<1);i++) res2+=a[i];
    if(res1==res2) cout<<"-1"<<endl;
    else{
        for(int i=1;i<=n;i++) cout<<a[i]<<" ";
        for(int i=n+1;i<(n<<1);i++) cout<<a[i]<<" ";
        cout<<a[(n<<1)]<<endl;
    }
    return 0;
}

B.Ehab Is an Odd Person

由于奇数+偶数=奇数,则可说明所有的偶数与奇数都可以互换位置,排序即可。

#include <bits/stdc++.h>
static const int MAXN=100050;
using namespace std;
int n,a[MAXN];
bool vis[3];
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        vis[a[i]%2]=true;
    }
    if(vis[0]&&vis[1]) sort(a+1,a+n+1);
    for(int i=1;i<n;i++) cout<<a[i]<<" ";
    cout<<a[n]<<endl;
    return 0;
}

C.Ehab and a Special Coloring Problem

质数显然互质,故不可相同。

由于使得编号较小,则从$1$开始分配,用筛法把合数也用此表示,即可。

#include <bits/stdc++.h>
static const int MAXN=100050;
using namespace std;
int n,cnt,num[MAXN];
int main(){
    cin>>n;
    for(int i=2;i<=n;i++){
        if(!num[i]){
            num[i]=++cnt;
            for(int j=i;j<=n;j+=i) num[j]=cnt;
        }
        printf("%d ",num[i]);
    }
    return 0;
}

 

posted @ 2019-06-05 00:51  BeyondLimits  阅读(149)  评论(0编辑  收藏  举报