首页 > 其他 > 详细

Codeforces Round #563 (Div. 2)

时间:2019-06-05 09:31:40      阅读:93      评论:0      收藏:0      [点我收藏+]

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;
}

 

Codeforces Round #563 (Div. 2)

原文:https://www.cnblogs.com/BeyondLimits/p/10977220.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!