首页 > 其他 > 详细

Codeferce 1138B - Circus

时间:2019-03-10 14:43:10      阅读:184      评论:0      收藏:0      [点我收藏+]

题目的意思是给定两个01序列

第一个序列中如果a[i]为1,表示第i个人可以表演clown,0表示不能表演clown。

第二个序列中如果c[i]为1,表示第i个人可以表演acrobat,0表示不能表演acrobat。

总共两次表演,每次出场n/2个人,且满足表演过的不能再次出场,且第一次出场的可以表演clown的人的数量的必须等于第二次出场表演acrobat。

输出第一次出场的人的编号,无解输出-1

当时想了一会,没想出来,我越想越乱,看了题解后顿时明白了,题解也算是一种暴力吧技术分享图片

暴力循环a,b,然后解出c,d,判断满不满足,满足就输出

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<int> aa, bb, cc, dd;
const int N = 5e3 + 10;
int n,na,nb,nc,nd;
int a[N], c[N];
int main()
{
    cin >> n;
    for (int i = 0; i < n; i++)
        scanf("%1d", &a[i]);
    for (int i = 0; i < n; i++)
        scanf("%1d", &c[i]);
    for (int i = 0; i < n; i++)
    {
        if (a[i] == 0 && c[i] == 0)
            na++, aa.push_back(i+1);
        else if (a[i] == 0 && c[i] == 1)
            nb++, bb.push_back(i+1);
        else if (a[i] == 1 && c[i] == 0)
            nc++, cc.push_back(i+1);
        else
            nd++, dd.push_back(i+1);
    }
    for (int a = 0; a <= na; a++)
    {
        for (int b = 0; b <= nb; b++)
        {
            int c = n - 2 * (a + b) - nb - nd + b;
            if (c >= 0 && c <= nc)
            {
                int d = n / 2 - c - a - b;
                if (d >= 0 && d <= nd)
                {
                    //cout << a << b << c << d << endl;
                    for (int i = 0; i < a; i++)
                        printf("%d ", aa[i]);
                    for (int i = 0; i < b; i++)
                        printf("%d ", bb[i]);
                    for (int i = 0; i < c; i++)
                        printf("%d ", cc[i]);
                    for (int i = 0; i < d; i++)
                        printf("%d ", dd[i]);
                    printf("\n");
                    return 0;
                }

            }
        }
    }
    printf("-1\n");
    return 0;
}

Codeferce 1138B - Circus

原文:https://www.cnblogs.com/xiaoguapi/p/10505203.html

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