zoukankan      html  css  js  c++  java
  • Codeforces Round #556 (Div. 2) C. Prefix Sum Primes

    题目大意让你改变数组的排序,使前缀和的素数最多;

    这是一道模拟题,让你通过判断1和2的个数来解决,

    只要特判一下1的个数是零的时候,2的个数是零的时候,或者1只有一个而2的个数又不是0个的时候,剩下的情况我们只有把1的个数分奇数和偶数来考虑,大致思路是这样,接下来就看代码吧

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    using namespace std;
    const int maxn = 200010;
    int main()
    {
        int a[maxn];
        int n;
        cin >> n;
        int ans1 = 0, ans2 = 0;
        for (int i = 0; i < n; i++)
        {
            scanf("%d", &a[i]);
            if (a[i] == 1)ans1++;
            else ans2++;
        }
    
         if (ans1 == 1 && ans2 !=0)
        {
            printf("2 1");
            for (int i = 1;i < ans2;i++)printf(" 2");
        }
        else if (ans1 == 0 && ans2 != 0)
        {
            for (int i = 0;i < ans2;i++)printf("2 ");
        }
        else if (ans2 == 0 && ans1 != 0)
        {
            for (int i = 0;i < ans1;i++)printf("1 ");
        }
        else
         {
             printf("2 1");
             if (ans1 % 2 == 1)
             {
                 for (int i = 1;i < ans1;i++)printf(" 1");
                 for (int i = 1;i < ans2;i++)printf(" 2");
             }
             else
             {
                 for (int i = 1;i < ans1-1;i++)printf(" 1");
                 for (int i = 1;i < ans2;i++)printf(" 2");
                 printf(" 1");
             }
         }
    }
  • 相关阅读:
    9.10 作业
    Day 03 作业
    Day02作业
    Day09 函数
    day08 简单习题
    Day04 python数据类型和词云的生成
    JAVA: 子类通过static块“覆盖”父类的成员变量风险
    JAVA: 子类“覆盖”父类的成员变量
    Java 访问控制权限
    Java数组类型转为集合类型
  • 原文地址:https://www.cnblogs.com/csxaxx/p/10801378.html
Copyright © 2011-2022 走看看