题目链接:http://acm.zznu.edu.cn/problem.php?pid=2076

输入一个T表示有T个样例
每组实例一个整数n(0〈n〈1000
接下来输入2*n个数字,代表一个2*n的矩阵(每个数大于0小于1000)

这些数可以任意调换位置,如果任意一个数与相邻一个数相加和不是三的倍数,则输出YES,反之输出NO。

占一行。

样例输入

2

10

6 6 6 6 6 1 1 1 1 1
8 8 8 8 8 8 8 8 8 8
4
3 6 9 1
1 2 1 7

样例输出

YES
YES

Preview

emmm,本来这场比赛有一道矩阵快速幂的fib,结果写到一半被学长改掉了,这题题目恰巧又说矩阵,导致以为换题了全程死扣矩阵解法,毫无悬念地GG.

解题思路:

因为数字能任意换位置,所以矩阵的格式原则上没有太大作用.

将输入所有数字对3取余,统计0的个数a.

原则上3的倍数最完美会出现如下情况:

    0 X 0 X 0

   X 0 X 0 X

这种交错情况下就能无视其他非3倍数了,因为我们只需要将a与 n 进行比较.

显然易见,当 a>n时候,必定会出现0 与 0镶嵌的情况,因此 必定输出  NO.

此题关键在于a<=n 时候会有  a<=1 和 a==2 的特殊情况.

当a<=1时。出现如下情况:

      ?XX

      XXX

显然,无论 ? 是否为0,X只能全为2或者全为1.

当a==2时,原则上必定要如下情况:

      X0XX

      XX0X

同上情况,X全为1或全为2必定符合,再仔细看,其实0 0 这斜着的一竖 两边分别全为1 2其实也符合.

AC代码:

//E

#include <cstdio>
#include <cstring>
using namespace std; int main()
{
int t,x,n;
scanf("%d",&t);
while(t--)
{
int a=,b=,c=;
scanf("%d",&n);
//memset(a,0,sizeof(a)); for(int i=; i<=n*; i++)
{
scanf("%d",&x);
x%=;
if(x==) a++;
else if (x==) b++;
else c++; }
bool flag=true;
if(a>n) flag=false;
else
{
if(a<=)
{
if(b==||c==) flag=true;
else flag=false;
}
else if(a==)
{
if(c%==&&b%==) flag=true;
else if(b==||c==) flag=true;
else flag=false;
} } if(flag) puts("YES");
else puts("NO");
}
return ;
}

ZZNU 2076(退役学长最后的神功 zz题)的更多相关文章

  1. 退役前的最后的做题记录upd:2019.04.04

    考试考到自闭,每天被吊打. 还有几天可能就要AFO了呢... Luogu3602:Koishi Loves Segments 从左向右,每次删除右端点最大的即可. [HEOI2014]南园满地堆轻絮 ...

  2. AHOI(十二省联考)2019 退役记

    我也想退役失败.jpg Day 0 我才知道联考原来是4.5h? 下午居然还有讲题,感觉变得正规多了. 试机敲了LCT,NTT,SA,加起来花了大概40min,基本1A,感觉海星.键盘似乎有点过于灵敏 ...

  3. NOI2019滚粗记

    Day -15 期末考完了,爆炸爆炸,就连数学和物理都错了好多傻*错误QwQ 哎呀管他的,NOI我来了! 跑到广附集训来了23333 Day -14 -- -2 做题,听题,哇和一群队爷在一个教室,真 ...

  4. ZJOI2019一轮停课刷题记录

    Preface 菜鸡HL终于狗来了他的省选停课,这次的时间很长,暂定停到一试结束,不过有机会二试的话还是可以搞到4月了 这段时间的学习就变得量大而且杂了,一般以刷薄弱的知识点和补一些新的奇怪技巧为主. ...

  5. NOI前训练日记

    向别人学习一波,记点流水帐.17.5.29开坑. 5.29 早晨看了道据说是树状数组优化DP的题(hdu5542),然后脑补了一个复杂度500^3的meet in the middle.然后死T... ...

  6. 【2018.11.23】2018WCTest(7)

    向已退役学长致敬! 题目&他的题解 T1 一道睿智题目,正常思路就是时空复杂度均为 $O(n\times 32768)$ 的背包.这个做法不被卡时间却被卡空间,其实就是想让你离线处理询问,然后 ...

  7. 【P1915】[usaco09 dec gold]电视游戏问题

    在百度上搜到了nzx学长的题解orz 原题: 农夫约翰的奶牛们游戏成瘾!本来FJ是想要按照陶叫兽的做法拿她们去电击戒瘾的,可是后来他发现奶牛们玩游戏之后比原先产更多的奶.很明显,这是因为满足的牛会产更 ...

  8. BestCoder Round #90 //div all 大混战 一题滚粗 阶梯博弈,树状数组,高斯消元

    BestCoder Round #90 本次至少暴露出三个知识点爆炸.... A. zz题 按题意copy  Init函数 然后统计就ok B. 博弈 题  不懂  推了半天的SG.....  结果这 ...

  9. 20155306白皎 学习技能+C语言学习

    你有什么技能比大多数人更好 谈起技能,我还有感觉有微微拿得出手的也只有主持这一项才艺了吧.从小学到高中一直参加朗诵比赛,以及从小学到大学一直在所在学校有担任过主持工作. 上大学以来,也参加了院级朗诵比 ...

随机推荐

  1. linux两个线程

    http://blog.csdn.net/marksinoberg/article/details/50945212

  2. 参看dll参数类型

    http://blog.csdn.net/chinabinlang/article/details/7698459 验证

  3. html 5 如何限制上传的文件类型 (uploadifive)

    可以直接设置input标签的accept属性来限制上传文件的类型 <input type="file" accept="application/msword&quo ...

  4. centos_x64 6.4 安装jdk1.7

    1.行到user目录下新建一个java目录 #cd /usr #mkdir java #cd /usr/java/ 2.下载jdk 先从oracle找到要下载的jdk地址然后 wget http:// ...

  5. 2018.06.30 BZOJ3083: 遥远的国度(换根树剖)

    3083: 遥远的国度 Time Limit: 10 Sec Memory Limit: 512 MB Description 描述 zcwwzdjn在追杀十分sb的zhx,而zhx逃入了一个遥远的国 ...

  6. 2018.09.16 bzoj1086: [SCOI2005]王室联邦(贪心)

    传送门 就是给树分块. 对于一个节点. 如果它的几棵子树加起来超过了下限,就把它们分成一块. 这样每次可能会剩下几个节点. 把它们都加入栈中最顶上那一块就行了. 代码: #include<bit ...

  7. 2018.07.18 洛谷P1171 售货员的难题(状压dp)

    传送门 感觉是一道经典的状压dp,随便写了一发卡了卡常数开了个O(2)" role="presentation" style="position: relati ...

  8. [VC++入门]指针一

    俗话说没有搞清楚指针就没有学会C/C++,所以指针是一个相当重要的东东,相当年在用 C#调用C++写的动态链接库时,以为C++中的指针就是C#中的引用类型(ref),但是看了一下却不是这样.指针当然和 ...

  9. spring + rs + RocketMQ 【精】

    cxf-rs-rocketmq 项目地址:见git │ pom.xml │ └─src ├─main │ ├─java │ │ └─cn │ │ └─zno │ │ ├─pojo │ │ │ Rece ...

  10. (二进制 异或)Team Formation --ZOJ --3870

    链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3870 http://acm.hust.edu.cn/vjudge/ ...