CF1363A 题解
题目简述
共有 \(T\) 组数据。
对于每组数据,给定 \(n,x\) 和 \(n\) 个数,问是否可以从 \(n\) 个数中选 \(x\) 个使其和为奇数,可以输出 Yes
,否则输出 No
。
思路
首先在输入过程中记录奇数的个数,接着特判没有奇数的情况,直接输出 No
即可。
接着如果奇数有偶数个,则把奇数个数减一,因为我们拿着偶数个奇数没有任何用处,所以扔掉一个即可。
下面判断 \(x\) 是否大于奇数个数,如果大于且剩余偶数可补上空缺,可输出 Yes
;如果不大于则判断是否有偶数或 \(x\) 为奇数,满足其中一个即可输出 Yes
;否则输出 No
。
下面是代码实现:
#include<iostream>
using namespace std;
int T, n, x;
int main() {
cin >> T; // 多组输入
while(T --) {
int sum = 0; // 初始化奇数个数
cin >> n >> x;
for(int i = 1, tmp; i <= n; i++) {
cin >> tmp;
if (tmp & 1) sum++; // 如果是奇数则加 1
}
if(!sum) {
cout << "No\n"; // 没有奇数特判输出 No
continue; // 直接返回
}
if(!(sum & 1)) sum --, n --; // 奇数个数为偶数处理
if(x >= sum && (x - sum) <= (n - sum)) { cout << "Yes\n"; continue; } // 情况 1
if(x < sum)
if((n - sum) > 0 || x % 2 != 0) { cout << "Yes\n"; continue; } // 情况 2
printf ("No\n"); // 情况 3,直接输出 No
}
return 0;
}
\]
CF1363A 题解的更多相关文章
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...
- 网络流n题 题解
学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...
- CF100965C题解..
求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...
- JSOI2016R3 瞎BB题解
题意请看absi大爷的blog http://absi2011.is-programmer.com/posts/200920.html http://absi2011.is-programmer.co ...
随机推荐
- u8二次开发再遇问题再总结
在调用api生成采购入库单时,报错:该操作会造成订单到货和入库同时存在,请重新检查操作!普通采购必有订单,存货[0501-0304-0075]不能手工录入 这是因为:采购入库单单据必须要录入上游单据, ...
- acedCommand 之使用镜像命令
ads_name ent; ads_point pt2, pt3; if (acedSSGet(NULL, NULL, NULL, NULL, ent) != RTNORM) { return; } ...
- Android 13 - Media框架(1)- 总览
关注公众号免费阅读全文,进入音视频开发技术分享群! 为了加深对Android Media框架的理解,决定在这里记录下学习过程中碰到的问题以及一些个人思考.由于本人水平有限,笔记的内容可能会有一些错误, ...
- wpf 双屏显示问题
// 在WPF中处理双屏显示问题,通常需要确保应用程序能够识别两个显示器,并在每个显示器上正确渲染内容.以下是一个简化的示例,展示如何在WPF应用程序中设置窗口,使其跨越两个显示器: using ...
- 解决老旧电脑在win7中浏览器访问https网站出现的Let‘sEncrypt证书过期的问题
原因LetsEncrypt证书未过期,但是其顶级ca根证书 "DST Root CA X3"在2021-09-01过期了,老旧设备上的win系统会被影响到. 解决步骤下载三张Let ...
- WPF开发快速入门【0】前言与目录
前言 WPF是一个生不逢时的技术,刚推出的时候由于是XP时代,WPF技术有两个不方便的地方: 1.由于操作系统没有自带Framework,需要另外安装,比较麻烦: 2.程序第一次启动时,由于要加载Fr ...
- CMake 进行多项目中dll的编译和链接
前言(maybe废话) 最近正在学习cherno的游戏引擎教程,他使用的是vs进行构建的,后面换了premake.而我用的是vscode+cmake,所以在构建整个项目的时候踩了不少的坑,也找了很多资 ...
- 分享一个关于Avl树的迭代器算法
1 研究过程 前段时间在研究avl树的迭代实现,在节点不使用parent指针的情况下,如何使用堆栈来实现双向地迭代.我参考了网络上的大部分迭代器实现,要么是使用了parent指针(就像c++的map容 ...
- 8.13考试总结(NOIP模拟38)[a·b·c]
重要的不是你做了多少事,而是你放了多少心思进去. T1 a 解题思路 总结一下,是双指针运用不够熟练(zxb笑了笑). 其实这个题是可以用树状数组卡过的(众所周知我是一个正直的人),但是一定是要打正解 ...
- testArticle
Test Article This is a test article for ArticleSync. Test Edit...... test Edit