当前位置: 首页 > article >正文

会赢的!(牛客)

题目描述

         在一个无限大的二维网格内,阿龙和小歪正在玩一场游戏。我们使用 (i,j)(i,j)(i,j) 表示网格中从上往下数第 iii 行和从左往右数第 jjj 列的单元格。规则如下:

两人共同操作一个棋子,开始位置为 (0,0)(0,0)(0,0) ;

每个回合每人可以将棋子向下或向右移动一格,向下移动一格即抵达 (x+1,y)(x+1,y)(x+1,y) 、向右移动一格即抵达 (x,y+1)(x,y+1)(x,y+1) ;

对于给定的终点 (x,y)(x,y)(x,y) ,在谁的回合中有机会将棋子走到,谁就能胜利;如果谁都不能到达,则视为平局;

∙阿龙先手,双方均采取最优决策(尽可能让自己赢,自己赢不了则尽可能平局);

谁能赢呢。

输入描述:

 

每个测试文件均包含多组测试数据。第一行输入一个整数 T(1≤T≤104)T\left(1\le T\le 10^4\right)T(1≤T≤104) 代表数据组数,每组测试数据描述如下:

在一行上输入两个整数 x,y(−100≤x,y≤100)x,y \left( -100\leq x,y\leq 100\right)x,y(−100≤x,y≤100) 代表终点。保证与起点不重合。

输出描述:

 

如果最后阿龙获胜,在一行上输出 YES\rm YESYES ;如果小歪获胜,输出 NO\rm NONO ;否则为平局,直接输出 PING\rm PINGPING 。

示例1

输入

3
1 1
1 0
-1 -1

输出

NO
YES
PING
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int t;
    cin>>t;
    int a,b;
    while(t--){
        cin>>a>>b;
        int s=a+b;
        int x;
        x=abs(a-b);
        if(a<0||b<0||x>=2)cout<<"PING\n";
        else if(s%2!=0&&x<2)cout<<"YES\n";
        else if(s%2==0&&x<2)cout<<"NO\n";
    }
    return 0;
}

 


http://www.kler.cn/a/287593.html

相关文章:

  • STM32 Option Bytes(选项字节)
  • 数据集的重要性:如何构建AIGC训练集
  • 使用OpenFeign实现HTTP调用的最简单案例
  • GitLab 如何降级?
  • Python爬虫----python爬虫基础
  • 爬虫开发工具与环境搭建——开发工具介绍
  • 买电脑如何选择显卡?
  • 10、Flink 动态表之更新和追加查询详解
  • 【React】Redux-toolkit 处理异步操作
  • 网络是怎样连接的
  • 数美Android SDK
  • JavaWeb笔记整理11——Nginx反向代理Tomcat
  • K8S ReplicaSet
  • 安装office过程中遇到的一系列问题及解放方案(Windows)
  • 深度学习100问37:什么是Gated RNN 框架
  • 一份高质量的测试用例如何养成?
  • 国内外大模型汇总(包括科大星火、文心一言、通义千问、智普清言、华为大模型)
  • 【算法】LRU置换算法
  • 【Tools】什么是MapReduce
  • 【软考】多媒体知识
  • 异步并发处理利器:在 Jupyter Notebook 中玩转 asyncio
  • Html 添加音效音乐音频播放和震动效果
  • Python测试开发基础(三)---random模块
  • form-data和x-www-form-urlencoded的区别
  • 银行业务-结算、代理、托管
  • 【C++】将myString类中能够实现的操作都实现一遍