题目链接: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 ;
}

最新文章

  1. Maven管理 划分模块
  2. SQL Server 【CTE + FOR XML PATH】使用笔记~
  3. 怎样用ZBrush雕刻人体造型
  4. github简单使用
  5. mysql 断电 启动不了 start: Job failed to start
  6. ImageButton和Button区别
  7. Linux 信号量同步编程
  8. 《Linux内核分析》 week2作业-时间片轮转
  9. poj2390
  10. leetcode Reverse Integer python
  11. Java并发编程:如何创建进程?
  12. SSL,TLS
  13. layui 重加载
  14. IP通信基础学习第四周(下)
  15. MySQL 8 配置文件
  16. RIDE创建工程和测试套件和用例--书本介绍的入门方法,自己整理实践下
  17. java-深克隆和浅克隆
  18. Patrick Hughes - 错觉3D雕塑艺术
  19. Linux第一章第二章学习笔记
  20. 持续集成之路 —— Mock对象引起的测试失败

热门文章

  1. Oracle增加一列、修改一列数据类型
  2. vue run dev 8080端口被占用
  3. 通过BeanShell获取UUID并将参数传递给Jmeter
  4. java--多线程编程简介
  5. Windows 下安装mysql总结
  6. POJ 3621 Sightseeing Cows (bellman-Ford + 01分数规划)
  7. mysql操作说明,插入时外键约束,快速删除
  8. AWS S3 CLI的安装和配置
  9. Hibernate和spring中的session总结
  10. [jquery-ajax] jquery ajax 三种情况对比