【NOIP 模拟赛】 道路
题目描述
在二维坐标平面里有 N 个整数点,信息班某一巨佬要访问这 N 个点。刚开始巨佬在点(0,0)处。 每一步,巨佬可以走到上、下、左、右四个点。即假设巨佬当前所在点的坐标是(x,y),那么它下一步可以移动到(x,y+1), (x,y-1), (x+1,y),(x-1,y)之一。
巨佬目标是找到一个移动序列,满足下面的条件:
1、从点(0,0)出发。
2、对于给定的那 N 个点,每个点至少被访问一次。
3、可以选择那 N 个给定点中任意一个作为结束点。
现在为了增加难度,巨佬的教练规定巨佬走过的所有步数之和的奇偶性必须为wantedParity,显然 wantedParity 是 0 或 1,是题目给定的, 0 表示偶, 1 表示奇。不过这依然难不到巨佬,但是............
巨佬临时有事,但是 ta 又不想受教练的批评,所以巨佬向你发出了求助(并且你不可拒绝)如果存在满足条件的移动序列,那么输出 CAN,否则输出 CANNOT。
多组测试数据。
第一行,一个整数 g,表示有 g 组测试数据,1 <= g <= 50。
输入格式
第 1 行,N、wantedParity。 1 <= N <= 3000。
接下来有 N 行,每行两个整数:x, y,表示第 i 个点的坐标值。
范围都在【-1000000,1000000】。输入的 N 个点不会有重叠,且不会有(0,
0)点。
输出格式
共 g 行,每行输出 CAN 或 CANNOT。
样例输入
5
40
-1 -1
-1 1
11
1 -1
31
-5 2
-3 0
23
21
1001 0
-4000 0
30
11 -20
21 42
07
21
0 10
6 -20
样例输出
CAN
CAN
CAN
CANNOT
CANNOT
Solution:
这个题目一眼看上去很吊,还被大佬们故意放在最后一题,但是细想还是不难的。
首先我们可以发现,一个点到另一个点的路径的奇偶性是不变的,如果不知道为什么的话,有一个快速的方法:如果它的奇偶性是可以改变的,那么答案肯定是CAN,因为只要任意改变一条路径的奇偶性就可以改变整条路的奇偶性,所以不会出现CANNOT的情况,这样一想,两点之间的路径的奇偶性一定是不会改变的。
想到这一点,这个题目就很好做了,起点是(0,0),终点是n个点中任意一个,而两点之间路径的奇偶性又是确定的,所以判断(0,0)和n个点中每个点的距离的奇偶性,就可以知道有没有一条在n个点中结束的路径的长度的奇偶性与给出的wantedParity相同,然后这就是一个大水题了
贴代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int T;
bool flag;
cin>>T;
for(int i=;i<=T;i++)
{
flag=;
int n,k;
cin>>n>>k;
for(int j=;j<=n;j++)
{
int x,y;
scanf("%d%d",&x,&y);
if(flag==)
if((abs(x)+abs(y))%==k) {flag=; cout<<"CAN"<<endl;}
}
if(flag==) cout<<"CANNOT"<<endl;
}
return ;
}
【NOIP 模拟赛】 道路的更多相关文章
- noip模拟赛 道路分组
分析:因为每一组编号都是连续的嘛,所以能分成一组的尽量分,每次加边后dfs判断一下1和n是否连通.有向图的判连通没有什么很快的方法,特别注意,并查集是错的!这个算法可以得到60分. 事实上每一次都不需 ...
- NOIP模拟赛20161022
NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...
- contesthunter暑假NOIP模拟赛第一场题解
contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...
- NOIP模拟赛 by hzwer
2015年10月04日NOIP模拟赛 by hzwer (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...
- 大家AK杯 灰天飞雁NOIP模拟赛题解/数据/标程
数据 http://files.cnblogs.com/htfy/data.zip 简要题解 桌球碰撞 纯模拟,注意一开始就在袋口和v=0的情况.v和坐标可以是小数.为保险起见最好用extended/ ...
- 队爷的讲学计划 CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的讲学计划 题解:刚开始理解题意理解了好半天,然后发 ...
- 队爷的Au Plan CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP ...
- 队爷的新书 CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的新书 题解:看到这题就想到了 poetize 的封 ...
- CH Round #58 - OrzCC杯noip模拟赛day2
A:颜色问题 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2358%20-%20OrzCC杯noip模拟赛day2/颜色问题 题解:算一下每个仆人到它的目的地 ...
- CH Round #52 - Thinking Bear #1 (NOIP模拟赛)
A.拆地毯 题目:http://www.contesthunter.org/contest/CH%20Round%20%2352%20-%20Thinking%20Bear%20%231%20(NOI ...
随机推荐
- Linux Glibc幽灵漏洞紧急修补方案【转】
转自:http://blog.csdn.net/chen19870707/article/details/43560823 幽灵漏洞是Linux glibc库上出现的一个严重的安全问题,他可以让攻击者 ...
- mysql开发必知必会
mysql的数据库的数据库,即存储mysql数据库的底层目录,是在/var/lib/mysql目录下(Linux,win在目录下的data中). 我们新创建的数据库db1就是在/var/lib/mys ...
- buffer和cache怎么让你们解释的那么难理解?
对于一个即将踏上“系统运维”或者更加高大尚的工作“系统调优”,如果这不跟这两哥们搞好关系了,坑的不只有内存,更坑的是你拿着调优的钱却干着随时被调的活.因为作为一个系统运维人员来说监控和优化IO性能这是 ...
- AC日记——Destroying The Graph poj 2125
Destroying The Graph Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 8356 Accepted: 2 ...
- 利用github搭建个人网站
1.注册一个github https://github.com/ 2.新建一个仓库 仓库名 用 Owner.github.io 的格式,然后点击创建 3.源码上传至github 安装github桌 ...
- SSH命令总结
目录 一.ssh命令 二.端口转发 三.scp 命令 四.rsync命令 五.sz和rz命令 六. ssh-agent 七.ssh执行命令不退出问题 参考文章 一.ssh命令 登录类型 密码登录: 服 ...
- 空间划分的数据结构(网格/四叉树/八叉树/BSP树/k-d树/BVH/自定义划分)
目录 网格 (Grid) 网格的应用 四叉树/八叉树 (Quadtree/Octree) 四叉树/八叉树的应用 BSP树 (Binary Space Partitioning Tree) 判断点在平面 ...
- spring security 单一账户多地方登陆提醒, ajax 拦截器 Interceptor
spring-security.xml部分代码: <http auto-config="false" > <access-denied-handler ref=& ...
- MVP的理解和使用
MVP大家应该差不多都知道了,他其实是MVC的升华版,差不多是在view和model中加了一个调节器,这样view不能直接调用model中得数据,而是通过presenter来进行操作,此外Presen ...
- Service 层实现
一.实验介绍 1.1 实验内容 本节课程主要利用 Spring 框架实现 Service 层. 1.2 实验知识点 Spring 框架 1.3 实验环境 JDK1.8 Eclipse JavaEE 二 ...