Description

众所周知的是,TMK特别容易迟到,终于在TMK某次又迟到了之后,Maple怒了,Maple大喊一声:“我要跟你决一死战!”然后Maple就跟TMK玩起了一个关于占点的游戏。
Maple在一个无限展开的只有整数点的二维平面上找到两个点,由TMK和Maple分别操控这两个点,两人轮流操作,每一次操作中TMK或Maple可以把他的点移动一格到上、下、左、右四个方向,当TMK操作时,移动到的这个点会被染成红色,而当Maple操作时,移动到的这个点会被染成蓝色,需要注意的是,两个起始时的两个点也都会被染上相应的颜色,而当任一人走到已经染了不同颜色的点,这个颜色会被覆盖掉,当两个点覆盖在一起时,这个点会被后来的点染色。当游戏结束时染着自己颜色的点就代表被自己占领了。
TMK一下就明白了,这个游戏的目标是让自己占领的点比对方占领的点多,而且要让差值最大。
为了公平一些,Maple决定让TMK来选择先手或后手和让TMK来选择点,相应的Maple就会选择另一个点。
现在给出游戏的总轮数N,Maple选择的两个点的坐标(x1,y1),(x2,y2),要TMK来选择先后手和起始点,假设Maple一定按最优策略来走,问TMK能不能选择先后手和起始点使得自己占领的点比Maple占领的多,如果能,那么同时要求出占领的点数的最大差值。
Input

第一行一个T,代表接下来有T组数据(1<=T<=2000)。
每组数据有五个整数N,x1,y1,x2,y2,代表了操作的总轮数N以及选择的两个起始点(x1,y1),(x2,y2),其中1<=N<=10^8,-10^8<=x1,y1,x2,y2<=10^8,数据保证两个点不相同。
Output
对于每一组数据,如果TMK占领的点不能比Maple占领的多,那么输出-1,否则输出两个占领点数的最大差值。

Sample Input
4
1 0 0 1 0
2 0 0 1 0
1 0 0 2 0
2 0 0 2 0
Sample Output
2
-1
1
-1

#include<map>
#include<queue>
#include<stack>
#include<vector>
#include<math.h>
#include<cstdio>
#include<sstream>
#include<numeric>//STL数值算法头文件
#include<stdlib.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<functional>//模板类头文件
using namespace std;const int INF=1e9+7;
const int maxn=1100;
typedef long long ll;int t,n;
int xx1,yy1,xx2,yy2;int main()
{scanf("%d",&t);while(t--){int i,dis=0;scanf("%d",&n);scanf("%d %d %d %d",&xx1,&yy1,&xx2,&yy2);dis=abs(xx1-xx2)+abs(yy1-yy2);if((n&1)&&(dis&1)) //先手-追;{int step=n/2+1;if(step>=dis) printf("2\n");else printf("1\n");}else if((n&1)==0&&(dis&1)) //步数为偶数 距离为奇数 先手有利,能够追上 1{printf("-1\n");}else if((n&1)&&(dis&1)==0){printf("1\n");}else if((n&1)==0&&(dis&1)==0){if(n/2>=dis) printf("1\n");else printf("-1\n");}}return 0;
}

转载于:https://www.cnblogs.com/nyist-xsk/p/7264843.html

2017广东工业大学程序设计竞赛决赛--Problem B: 占点游戏相关推荐

  1. 2017广东工业大学程序设计竞赛决赛 Problem H: tmk买礼物(数论)

    tmk买礼物 Problem H: tmk买礼物 Description 今天是校赛的日子,为了庆祝这么喜庆的日子,TMK打算买些礼物给女票LSH庆祝一下. TMK进入了雪梨超市,然后刚踏入的一瞬间, ...

  2. 2017广东工业大学程序设计竞赛决赛

    链接:http://gdutcode.sinaapp.com/contest.php?cid=1057 Problem A: 两只老虎 Description 来,我们先来放松下,听听儿歌,一起&qu ...

  3. 2017广东工业大学程序设计竞赛决赛 题解源码(A,数学解方程,B,贪心博弈,C,递归,D,水,E,贪心,面试题,F,贪心,枚举,LCA,G,dp,记忆化搜索,H,思维题)...

    心得: 这比赛真的是不要不要的,pending了一下午,也不知道对错,直接做过去就是了,也没有管太多! Problem A: 两只老虎 Description 来,我们先来放松下,听听儿歌,一起&qu ...

  4. 2017广东工业大学程序设计竞赛决赛(官方题解)

    题目链接:http://gdutcode.sinaapp.com/contest.php?cid=1056 Problem A: 两只老虎 正常的+有耳朵的 = a/2 正常的+有尾巴的 = b 正常 ...

  5. 2017广东工业大学程序设计竞赛决赛相关总结

    这是一直以来,自己碰到的最简单的网络赛 这么说主要是用到的高级数据结构.算法不是很多 除了一些知识盲区,还是在一些基础的问题上翻了船 但是不得不吐槽广工的OJ,前面几个题一个半小时可以出结果,后面的就 ...

  6. 2017广东工业大学程序设计竞赛决赛总结

    我只能说好卡啊...两点多交的题,比赛都结束了,结果还没判出来,晚上回来发现B题CE了..但是我在本地也没什么问题啊,先在这里贴上部分自己做出的加补上的部分题解,以后把题补上慢慢完全... Probl ...

  7. 2017广东工业大学程序设计竞赛决赛:G. 等凹数字(数位DP)

    Problem G: 等凹数字 Description 定义一种数字称为等凹数字,即从高位到地位,每一位的数字先非递增再非递减,不能全部数字一样,且该数是一个回文数,即从左读到右与从右读到左是一样的, ...

  8. 2017广东工业大学程序设计竞赛决赛 E-倒水(Water) (二进制的应用) + H-tmk买礼物(dp思想)

    Problem E: 倒水(Water) Description 一天,CC买了N个容量可以认为是无限大的瓶子,开始时每个瓶子里有1升水.接着~~CC发现瓶子实在太多了,于是他决定保留不超过K个瓶子. ...

  9. 广东工业大学程序设计竞赛决赛 D

    Problem D: 只有通过毁灭才能揭示真理 Description "只有通过毁灭才能揭示真理." -- 虚空之眼 维克兹是一个有触手的虚空来客,他带着非凡的意图探索着符文之地 ...

最新文章

  1. 教育部免费开放的2.4万门网课,都在这里!
  2. 16进制加法 keil_教你快速学会二进制、十进制、十六进制之间的转换
  3. Py之pdfkit:python的库之pdfkit简介、安装、使用方法详细攻略
  4. 编译正确,运行ORB_SLAM3报错Segmentation fault
  5. 拼图游戏和它的AI算法
  6. k3刷梅林5g信号不稳定_斐讯k3 5g信号不稳定 k3c路由器,现在还能入手吗?
  7. jvm之可达性分析算法
  8. Ext2.2 combo 多选效果
  9. 终于找到了PyMuPDF不能提取文字的原因……它只是个包装
  10. 双系统(kali+win10)开机出现unknow filesystem
  11. [设计模式] 设计模式面面观(3):单件模式(Singletion)-创建型模式
  12. Mac上的QQ字体大小和颜色如何设置
  13. 一个老工程师的工作经历和思考
  14. 【matlab郭彦甫课程答案】
  15. 外汇局:12月中国国际货物和服务贸易顺差2280亿元
  16. Flutter 项目实战 滚动悬浮导航栏 十五
  17. thymeleaf模板引擎如何共享头部和底部公共资源
  18. 日本小学生就要学编程了
  19. 2023校招总结--软件测试岗位
  20. 三小时学会V语言到放弃(第一小时)

热门文章

  1. 虽然有索引,但没有用上
  2. poj3342Party at Hali-Bula(树形dp)
  3. 说一下StoreBoard和纯代码编程各有什么好处吧
  4. 算法与数据结构之队列的链式存储
  5. rocksdb学习笔记
  6. 使用CountDownLatch来模拟马拉松比赛
  7. SSH框架中不为人知的细节(一)
  8. 一段典型的PHP程序都包含那些内容呢?
  9. Chrome网络库的请求处理
  10. Java 对象初始化过程