Similar Pairs CodeForces - 1360C(图匹配+简单贪心)

题意:

现有一个定义:(1)两个数的奇偶性相同
(2)两个数的差的绝对值为1 ,即|a-b|=1
满足以上两个条件之一,就可以说两个数是相似的
先给你一个数组,让你将数组内分成多组,每组两个元素是否都相似。

题目:

We call two numbers x and y similar if they have the same parity (the same remainder when divided by 2), or if |x−y|=1. For example, in each of the pairs (2,6), (4,3), (11,7), the numbers are similar to each other, and in the pairs (1,4), (3,12), they are not.

You are given an array a of n (n is even) positive integers. Check if there is such a partition of the array into pairs that each element of the array belongs to exactly one pair and the numbers in each pair are similar to each other.

For example, for the array a=[11,14,16,12], there is a partition into pairs (11,12) and (14,16). The numbers in the first pair are similar because they differ by one, and in the second pair because they are both even.

Input
The first line contains a single integer t (1≤t≤1000) — the number of test cases. Then t test cases follow.

Each test case consists of two lines.

The first line contains an even positive integer n (2≤n≤50) — length of array a.

The second line contains n positive integers a1,a2,…,an (1≤ai≤100).

Output

For each test case print:

YES if the such a partition exists,
NO otherwise.
The letters in the words YES and NO can be displayed in any case.

Example

Input

7
4
11 14 16 12
2
1 8
4
1 1 1 1
4
1 2 5 6
2
12 13
6
1 6 3 10 5 8
6
1 12 3 10 5 8

Output

YES
NO
YES
YES
YES
YES
NO

Note

The first test case was explained in the statement.

In the second test case, the two given numbers are not similar.

In the third test case, any partition is suitable.

分析:

由于n为偶数,那么奇数个数和偶数个数奇偶性相同
(1)如果个数都为偶,直接各自配对
(2)如果个数为奇,我们只需要判断是否存在一对奇数和偶数相差为1配对,如果找不到就NO

AC代码:

#include<stdio.h>
#include<cstring>
#include<algorithm>
using namespace std;
int t,n,x,y,flag;
int dp[60];
int main()
{scanf("%d",&t);while(t--){x=y=flag=0;scanf("%d",&n);for(int i=0; i<n; i++){scanf("%d",&dp[i]);if(dp[i]%2)  x++;}if(x%2==0)flag=1;sort(dp,dp+n);for(int i=1; i<n; i++)if(dp[i]-dp[i-1]==1){flag=1;break;}flag==1?printf("YES\n"):printf("NO\n");}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/309715.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

是小厂全栈好,还是大厂专业工程师好?

作者&#xff1a;邹溪源&#xff0c;长沙资深互联网从业者&#xff0c;架构师社区特邀嘉宾&#xff01;一在博客园中使用小公司大公司进行搜索&#xff0c;列入的搜索记录长达50页。虽然完全命中关键词的文章也许并不多&#xff0c;但这或许也能体现出这个话题的热门程度。今天…

计算机英特尔显卡在哪找,Win10英特尔显卡设置图标不见了该怎么办 - 系统之家...

电脑中使用英特尔显卡的时候&#xff0c;就会在系统任务栏托盘中显示图标&#xff0c;方便用户进行操作&#xff0c;但是有win10用户反映说自己的任务栏托盘中没有显示英特尔核芯显卡的托盘图标&#xff0c;这是什么情况&#xff1f;下面小编就来给大家分析分析。一、查看是否安…

.NET Core + Kubernetes:Service

通过 .NET Core Kubernetes&#xff1a;Deployment 文章的介绍&#xff0c;我们可以通过 Deployment 控制器快速创建一组 Pod 来提供服务&#xff0c;每个 Pod 都会被分配一个集群内可见的虚拟 IP 地址&#xff0c;然后通过一个独立的 Endpoint&#xff08;Pod IP ContainerP…

Buying Shovels CodeForces - 1360D(数论+找因子)

题意&#xff1a; 想买n个铲子&#xff0c;一共有k种包装&#xff0c;第i种包装里有i个铲子&#xff08;1<i<k&#xff09;&#xff0c;问如何才能正好买n个铲子,要求买相同包装的&#xff0c;而且买的包书数最少 题目&#xff1a; Polycarp wants to buy exactly n s…

bim建筑绘图计算机要求,BIM考试报名条件:想要成为一级BIM建模师需要达到哪些要求?...

【摘要】如今&#xff0c;BIM成为建筑领域无处不在的一个热词&#xff0c;学习BIM技术也是当前的热潮。那么你知道一级BIM建模师考试的考评要点吗?获得BIM技能等级认证&#xff0c;成为行业急需的BIM技术人才需要达到哪些要求呢?一级BIM建模师一、文化要求报考一级BIM建模师基…

EventBus/EventQueue 再思考

EventBus/EventQueue 再思考Intro之前写过两篇文章&#xff0c;造轮子系列的 EventBus/ EventQueue&#xff0c;回想起来觉得当前的想法有点问题&#xff0c;当时对 EvenStore 可能有点误解&#xff0c;有兴趣可以参考 动手造轮子&#xff1a;实现一个简单的 EventBus动手造轮子…

网络原理题+复习资料

1.试说明运输层在协议栈中的地位和作用&#xff0c;运输层的通信和网络层的通信有什么重要区别&#xff1f;为什么运输层是必不可少的&#xff1f; 答&#xff1a;运输层处于面向通信部分的最高层&#xff0c;同时也是用户功能中的最低层&#xff0c;向它上面的应用层提供服务…

德清租房软件测试,门头沟实习生出租房

10 图2室 65㎡苏州街海淀南路小区距4号线大兴线海淀黄庄地铁站步行438m来自经纪人: 陈伟建1天前8300元8 图1室 35㎡北太平庄花园路8号院距10号线牡丹园地铁站步行1122m来自经纪人: 陈泽科1天前4800元10 图1室 45㎡西北旺芳怡园距16号线西北旺地铁站步行1128m来自经…

[推荐]大量 Blazor 学习资源(一)

预警前言 / Introduction Blazor 是什么&#xff1f;Blazor 允许您使用 C# 而不是 JavaScript 构建交互式 Web UI。Blazor 应用由使用 C#、HTML 和 CSS 实现的可重用 Web UI 组件组成。客户端和服务器代码都用 C# 编写&#xff0c;允许您共享代码和库。???? 本文主要来给大…

网络原理往期考试题+部分详解+最终版

一&#xff0e;填空题&#xff1a; &#xff08;号代表出现次数&#xff0c;无则说明一次&#xff09; 1&#xff0e; 在采用电信号表达数据的系统中&#xff0c;数据有数字数据和__模拟数据__两种。 2. 国际标准化组织ISO提出的不基于特定机型、操作系统或公司的网络体系结…

计算机博士两篇一区两篇会议,本科博士联手!西电陈渤团队两篇论文被顶级会议录用...

第34届神经信息处理系统大会(Neural Information Processing Systems, NeurIPS&#xff0c;https://neurips.cc/)将于12月06日—12月12日&#xff0c;通过线上举行。该会议是跨学科的&#xff0c;主要包括人工智能和自然神经信息处理&#xff0c;代表着热门科研领域的最前沿&am…

从零开始实现 ASP.NET Core MVC 的插件式开发(七) - 问题汇总及部分问题解决方案...

标题&#xff1a;从零开始实现 ASP.NET Core MVC 的插件式开发(七) - 问题汇总及部分问题解决方案作者&#xff1a;Lamond Lu地址&#xff1a;https://www.cnblogs.com/lwqlun/p/12930713.html源代码&#xff1a;https://github.com/lamondlu/Mystique前景回顾从零开始实现 ASP…

英语期末复习unit 1-2课后习题第一题及背诵段落

unit 1 1.Hundreds of people were___.rendered___ homeless by the earthquake. 翻译&#xff1a;地震使数百人无家可归。 A.rendered B.launched C.reckoned D.engaged 选C rendered&#xff1a;使成为;使变得;使处于某状态;给予;提供;回报;递交;呈献;提交 render的过去…

C++实现顺序串(完整代码)

代码如下: #include<iostream> #include <cstring> #define _CRT_SECURE_NO_WARNINGS using namespace std;class String { public:String(){size 0;str new char[size 1];str[0] \0;}String(const String &obj){size obj.size;str new char[size 1];i…

投影仪硬件边缘融合服务器,带你了解投影融合的边缘融合显示技术

原标题&#xff1a;带你了解投影融合的边缘融合显示技术边缘融合显示系统是一个专业、复杂的视屏显示系统。在设计组建的时候务必考虑周密&#xff0c;消除各类不良因素。因为边缘融合系统建设具有相关器材多、系统连接复杂、易受环境因素干扰的特性&#xff0c;所以如果没有在…

Sql Server之旅——第六站 为什么都说状态少的字段不能建索引

我们在学sqlserver的时候&#xff0c;大多教科书和前辈们都说状态少的字段不要建索引&#xff0c;由此带来的开销还不如不建索引&#xff0c;但是这句话有多少人真的知道&#xff0c;或者说有多少人真的对此有比较深刻的理解&#xff0c;而不是听别人道听途说。。。这样记得快&…