题目

//这是一道有n多情况的烦死人的让我错了n遍的模拟题

#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<string.h>
using namespace std; int a[],n,k,p;
int vis[];
int ji=,ou=; int main()
{
memset(vis,,sizeof(vis));
cin >> n >> k >> p;
for(int i=;i<n;i++)
{
cin >> a[i];
if(a[i]%==)
ji++;
else ou++;
}
if((ji-(k-p))%==||ji<k-p||((ji-(k-p))/+ou<p))
printf("NO\n");
else
{
printf("YES\n");
int odd=,even=,al=;
if(p!=)
{
for(int i=;i<n;i++)
{
if(a[i]%)
{
if(odd<k-p)
{
printf("1 %d\n",a[i]);
odd++;
vis[i]=;
al++;
}
else break;
}
} for(int i=;i<n;i++)
{
if(a[i]%==)
{
if(even<p-)
{
printf("1 %d\n",a[i]);
even++;
vis[i]=;
al++;
}
else break;
}
}
int flag=;
for(int i=;i<n;i++)
{
if(even<p-)
{
if(vis[i]==&&a[i]%==&&flag==)
printf("2 %d",a[i]),flag=,vis[i]=,al++;
else if(vis[i]==&&a[i]%==&&flag==)
printf(" %d\n",a[i]),flag=,vis[i]=,even++,al++;
}
else break;
}
if(n-al>)
{
cout << n-al;
for(int i=;i<n;i++)
{
if(vis[i]==)
printf(" %d",a[i]);
}
} }
else
{
for(int i=;i<n;i++)
{
if(a[i]%)
{
if(odd<k-p-)
{
printf("1 %d\n",a[i]);
odd++;
vis[i]=;
al++;
}
else break;
}
}
if(n-al>)
{
cout << n-al;
for(int i=;i<n;i++)
{
if(vis[i]==)
printf(" %d",a[i]);
}
} }
puts("");
}
return ;
}

codeforces 439C Devu and Partitioning of the Array(烦死人的多情况的模拟)的更多相关文章

  1. Codeforces 439C Devu and Partitioning of the Array(模拟)

    题目链接:Codeforces 439C Devu and Partitioning of the Array 题目大意:给出n个数,要分成k份,每份有若干个数,可是仅仅须要关注该份的和为奇数还是偶数 ...

  2. CodeForce 439C Devu and Partitioning of the Array(模拟)

     Devu and Partitioning of the Array time limit per test 1 second memory limit per test 256 megabytes ...

  3. CF 439C Devu and Partitioning of the Array

    题目链接: 传送门 Devu and Partitioning of the Array time limit per test:1 second     memory limit per test: ...

  4. codeforces 439D Devu and Partitioning of the Array(有深度的模拟)

    题目 //参考了网上的代码 注意答案可能超过32位 //要达成目标,就是要所有数列a的都比数列b的要小或者等于 //然后,要使最小的要和最大的一样大,就要移动(大-小)步, //要使较小的要和较大的一 ...

  5. codeforces C. Devu and Partitioning of the Array

    题意:给你n个数,然后分成k部分,每一个部分的和为偶数的有p个,奇数的有k-p个,如果可以划分,输出其中的一种,不可以输出NO; 思路:先输出k-p-1个奇数,再输出p-1个偶数,剩余的在进行构造.  ...

  6. codeforces 251 div2 C. Devu and Partitioning of the Array 模拟

    C. Devu and Partitioning of the Array time limit per test 1 second memory limit per test 256 megabyt ...

  7. CF 439C(251C题)Devu and Partitioning of the Array

    Devu and Partitioning of the Array time limit per test 1 second memory limit per test 256 megabytes ...

  8. Codeforces Round #251 (Div. 2) C. Devu and Partitioning of the Array

    注意p的边界情况,p为0,或者 p为k 奇数+偶数 = 奇数 奇数+奇数 = 偶数 #include <iostream> #include <vector> #include ...

  9. 【Henu ACM Round#20 D】 Devu and Partitioning of the Array

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 一开始所有的数字单独成一个集合. 然后用v[0]和v[1]记录集合的和为偶数和奇数的集合它们的根节点(并查集 然后先让v[0]的大小 ...

随机推荐

  1. rails的字符编码

    想练练手,随意的写了个登陆页面,简单的只有几行. <%= form_tag('login_check') do -%><%= text_field_tag 'user_name', ...

  2. 迭代器、泛型和增强For

    Iterator hasNext  next Iterator 迭代器 Collection提供了一个遍历集合的通用方式,迭代器(Iterator). 获取迭代器的方式是使用Collection定义的 ...

  3. VMware-workstation-full-9.0.0-812388+汉化补丁+有效密钥

    更新内容:https://www.vmware.com/support/ws90/doc/workstation-90-release-notes.html 官网下载地址:https://my.vmw ...

  4. windows32位下安装mongodb

    下载mongodb:http://downloads.mongodb.org/win32/mongodb-win32-i386-2.4.5.zip 给mongodb指定一个数据存放路径:这里我们放在m ...

  5. AppCan教你从零开始做开发

    经常收到类似这样的提问:新手开发APP,要怎么学?我有满屏幕的文档和视频,然而并没有什么卵用,因为我不知道该从哪看起……今天的主要内容是教大家,如何在AppCan移动平台创建应用,引擎插件选择.证书管 ...

  6. linux安装R语言

    系统:centos 6.4  64bit 安装可以使用rpm包安装,也可以用源码安装. 但是rpm安装,各种依赖比较麻烦.所以我采用源码安装. 下载:http://www.r-project.org/ ...

  7. ios9网络请求https适配

    发现问题:今天升级Xcode 7.0 bata发现网络访问失败.输出错误信息: The resource could not be loaded because the App Transport S ...

  8. GNU make 总结 (一)

    make的执行依赖于一个makefile文件,该文件告诉make应该如何执行编译和链接操作.make通过比较对应文件的最后修改时间来决定哪些文件需要更新.make工具主要用来进行工程编译和程序链接操作 ...

  9. 查看图片真正的格式,在不知道扩展名的情况下区分是jpeg还是bmp

    用系统自带的画图软件打开图片,然后按文件-->另存为就会弹出保存窗口.保存窗口的保存类形就是"照片真正的格式".

  10. Lisp使用Lambda语法

    lamdba 其实就是一个匿名函数. 定义Lisp的lambda语法非常的简单,如下: (lambda ([parameter]) [experssion]) 调用lambda的语法有三种方法,如下: ...