2017acm南宁现场赛 J题 Rearrangement
题意:
给定一个2 * n的矩阵, 和 2 * n 个数, 问能不能通过重排列, 使得任意相邻两数不能被3整除
分析:
这题一直卡到最后, 赛后经对面大佬提醒后, 发现统计所有数模三的结果(0,1,2三种), 然后考虑怎么去“构造”符合这样的矩阵就行。
本地只过了用例和一些小数据, 等一个重现赛。
#include <bits/stdc++.h>
using namespace std;
const int maxn = + ;
int n;
int num[maxn*];
int _0,_1,_2;
bool judge()
{
if(_0 > n)//_0会有相邻
return false; if(_1 == || _2 == ) // 只有1, 2其中一种, 不用分割
return true; if(_0 <= )//有1, 2两种而且不形成分割
return false; if(_0 == n)
return true;
if(_0 % == )
/* _0偶数情况, 形成|* 2 2 2|
|1 * 2 2|可以隔出奇数个位置 */
{
if(_1 % == || _2 % == )//偶数个位置不能被隔开
return false; return true;
}
else
/* _0奇数情况, 形成|* & * 2|
|1 * 2 2|至少有(_0 - 2)个围住位置(&)可以任选, 所以奇偶都行*/
{ return true;
}
}
int main()
{
// freopen("data.txt","r", stdin);
int T;
scanf("%d", &T);
while(T--)
{
scanf("%d", &n);
_0 = _1 = _2 = ;
for(int i = ; i < *n; i++)
{
scanf("%d", &num[i]);
if(num[i] % == ) _0++;
else if(num[i] % == ) _1++;
else _2++;
}
// printf("%d %d %d\n", _0, _1, _2);
printf("%s\n", judge()? "YES":"NO");
}
return ;
}
2017acm南宁现场赛 J题 Rearrangement的更多相关文章
- HDU 4800/zoj 3735 Josephina and RPG 2013 长沙现场赛J题
第一年参加现场赛,比赛的时候就A了这一道,基本全场都A的签到题竟然A不出来,结果题目重现的时候1A,好受打击 ORZ..... 题目链接:http://acm.hdu.edu.cn/showprobl ...
- 2013杭州现场赛B题-Rabbit Kingdom
杭州现场赛的题.BFS+DFS #include <iostream> #include<cstdio> #include<cstring> #define inf ...
- Gym101981D - 2018ACM-ICPC南京现场赛D题 Country Meow
2018ACM-ICPC南京现场赛D题-Country Meow Problem D. Country Meow Input file: standard input Output file: sta ...
- luogu 1327 数列排序 & 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 J题 循环节
luogu 1327 数列排序 题意 给定一个数列\(\{an\}\),这个数列满足\(ai≠aj(i≠j)\),现在要求你把这个数列从小到大排序,每次允许你交换其中任意一对数,请问最少需要几次交换? ...
- HDU 4816 Bathysphere (2013长春现场赛D题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4816 2013长春区域赛的D题. 很简单的几何题,就是给了一条折线. 然后一个矩形窗去截取一部分,求最 ...
- 17南宁区域赛 J - Rearrangement 【规律】
题目链接 https://nanti.jisuanke.com/t/19976 题意 给出 一个n 然后 给出 2*n 个数 可以重新排列成两行 然后 相邻的两个数 加起来 不能被三整除 可以上下相邻 ...
- hdu 5538 House Building(长春现场赛——水题)
题目链接:acm.hdu.edu.cn/showproblem.php?pid=5538 House Building Time Limit: 2000/1000 MS (Java/Others) ...
- 青岛理工ACM交流赛 J题 数格子算面积
数格子算面积 Time Limit: 1000MS Memory limit: 262144K 题目描述 给你一个多边形(用’\’和’/’表示多边形的边),求多边形的面积. 输入 第一行两个正整数h ...
- 2013长沙赛区现场赛 J - Josephina and RPG
J - Josephina and RPG Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I6 ...
随机推荐
- hdu1811 Rank of Tetris 并查集+拓扑排序
#include <stdio.h> #include <string.h> #include <vector> #include <queue> us ...
- [洛谷P4185] [USACO18JAN]MooTube
题目链接: 传送门 题意: 给定一颗N个节点的树,定义两点距离为他们之间路径中边权最小值. Q次询问K,V,询问到V距离>=K的点有多少(不含V) 呃呃呃呃考试的时候直奔了T3,结果公式推挂了( ...
- 求n的因子个数与其因子数之和
方法一:朴素算法:O(n). #include<bits/stdc++.h> using namespace std; int get_num(int n){ ; ;i<=n;++i ...
- 关于MyBatis的两种写法
刚接触MyBatis是在Jike的视频中学习的,但是之后又发现和项目中的MyBatis的用法不太一致.上网找了好多资料,发现网上的教程分为两种写法: 第一种,是jike视频中的写法,写好map.xml ...
- LSP
Liskov Substitution Principle里氏替换原则,OCP作为OO的高层原则,主张使用“抽象(Abstraction)”和“多态(Polymorphism)”将设计中的静态结构改为 ...
- javascript中 if(变量)和if(变量==true)的区别
if(判断表达式){执行内容} 如果判断表达式为true,则执行括号中的内容.这里,变量如果不为0,null,undefined,false,都会被处理为true.只要变量有非0的值或是某个对象,数组 ...
- Servlet 3.0 新特性详解 (转载)
原文地址:https://www.ibm.com/developerworks/cn/java/j-lo-servlet30/ Servlet 3.0 新特性概述 Servlet 3.0 作为 Jav ...
- javaee 第14周
1.web server Web Server中文名称叫网页服务器或web服务器.WEB服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务.Web服务器可以解析( ...
- (转)Spring提供的CharacterEncoding和OpenSessionInView功能
http://blog.csdn.net/yerenyuan_pku/article/details/52902282 前面我们以一种更加优雅的方式集成了Spring4.2.5+Hibernate4. ...
- 加快create-react-app的方法
npm config get registry 查看npm源,默认源是 https://registry.npmjs.org/ npm config set registry https://regi ...