题目描述

Franky是super的人造人,来到了n*m的棋盘世界玩冒险游戏。

n×m的棋盘由n行每行m个方格组成,左上角的方格坐标是(0,0),右下角的方格坐标是(n-1,m-1)。

每次游戏时,他可以降落在棋盘的任意点,并以此为起点开始周游棋盘世界,他的移动规则是:

只能朝向左上(-1,-1),右上(-1,1),左下(1,-1),右下移动(1,1)四个向量移动。

不过这个棋盘世界很特殊:

它的边界是联通的,例如,在7×9的棋盘中 能从(0,0)移动到(6 ,8),

从(1,0)移动到(0,8)和(2,8) ...等等。

更精确地说当他从(x,y)以向量(Vx,Vy)移动后,他的坐标是( (x+Vx)%n , (y+Vy)%m );

现在Franky想知道,他最少要玩几次游戏才能遍历完整个棋盘世界。

PS:猜一猜,有公式喔!

PS2:只和奇偶性有关喔,推推小数据看。

输入

有多组输入数据。

输入数据的第一行为一个数字T,代表有T组输入数据 (0<T≤1000)。

接下来为T组测试数据。每组数据占一行,为2个整数n,m(1≤n,m≤10000)。

输出

对于每一组数据,在1行上输出一个整数, 表示Franky最少要玩的游戏次数。

--正文

试试几组数据就知道了

双偶数的话就是2,否则就是1

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
using namespace std; int main(){
int time,T,n,m;
scanf("%d",&T);
for (time=;time<=T;time++){
int tmp = ;
scanf("%d %d",&n,&m);
if (n % == ){
tmp ++;
}
if (m % == ){
tmp ++;
}
if (tmp == ){
printf("2\n");
}
else
printf("1\n");
}
return ;
}

XidianOJ 1041: Franky的游戏O的更多相关文章

  1. 使用HTML5开发Kinect体感游戏

    一.简介 我们要做的是怎样一款游戏? 在前不久成都TGC2016展会上,我们开发了一款<火影忍者手游>的体感游戏,主要模拟手游章节<九尾袭来 >,用户化身四代,与九尾进行对决, ...

  2. jQuery实践-网页版2048小游戏

    ▓▓▓▓▓▓ 大致介绍 看了一个实现网页版2048小游戏的视频,觉得能做出自己以前喜欢玩的小游戏很有意思便自己动手试了试,真正的验证了这句话-不要以为你以为的就是你以为的,看视频时觉得看懂了,会写了, ...

  3. Unity游戏内版本更新

    最近研究了一下游戏内apk包更新的方法. ios对于应用的管理比较严格,除非热更新脚本,不太可能做到端内大版本包的更新.然而安卓端则没有此限制.因此可以做到不跳到网页或应用商店,就覆盖更新apk包. ...

  4. 游戏服务器菜鸟之C#初探一游戏服务

    本人80后程序猿一枚,原来搞过C++/Java/C#,因为工作原因最后选择一直从事C#开发,因为读书时候对游戏一直比较感兴趣,机缘巧合公司做一个手游的项目,我就开始游戏服务器的折腾之旅. 游戏的构架是 ...

  5. iOS审核这些坑,腾讯游戏也踩过

    作者:Jamie,专项技术测试工程师,在iOS预审和ASO优化领域从事专项测试相关工作,为腾讯游戏近100个产品提供专项服务. WeTest 导读 在App上架苹果应用商店的过程中,相信大多数iOS开 ...

  6. 漫谈C#编程语言在游戏领域的应用

    0x00 前言 随着微软越来越开放,C#也变得越来越吸引人们的眼球.而在游戏行业中,C#也开始慢慢地获得了关注.这不, 网易绝代双娇手游团队已经全面使用.Net Core支持前后端统一C#开发,跨平台 ...

  7. 解构C#游戏框架uFrame兼谈游戏架构设计

    1.概览 uFrame是提供给Unity3D开发者使用的一个框架插件,它本身模仿了MVVM这种架构模式(事实上并不包含Model部分,且多出了Controller部分).因为用于Unity3D,所以它 ...

  8. 趣说游戏AI开发:曼哈顿街角的A*算法

    0x00 前言 请叫我标题党!请叫我标题党!请叫我标题党!因为下面的文字既不发生在美国曼哈顿,也不是一个讲述美国梦的故事.相反,这可能只是一篇没有那么枯燥的关于算法的文章.A星算法,这个在游戏寻路开发 ...

  9. 拼图小游戏之计算后样式与CSS动画的冲突

    先说结论: 前几天写了几个非常简单的移动端小游戏,其中一个拼图游戏让我郁闷了一段时间.因为要获取每张图片的位置,用`<style>`标签写的样式,直接获取计算后样式再用来交换位置,结果就悲 ...

随机推荐

  1. C++中一个常用的句型(两个for(;;)语句连用的重要性)

    在一些简单的C++编程中,经常会用到两个for(;;)语句连用的情况,这是一个常用句型,因此感觉也非常重要.下面举两个例子说明一下: 例1.用两个for(;;)语句来进行数组元素大小的排序 #incl ...

  2. OAF_文件系列6_实现OAF导出XML文件javax.xml.parsers/transformer(案例)

    20150803 Created By BaoXinjian

  3. SQL优化注意事项

    sql语句优化 性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化. 为了获得稳定的执行性能,SQL语句越简单越好.对复杂的 ...

  4. mint安装相关数据库lib

    sudo apt-get install libmysqlclient-dev sudo apt-get install sqlite3 libsqlite3-dev

  5. LinkedList

  6. 标签中id和name的作用和区别

    id:作为标签的唯一标识.name:作为可与服务器交互数据的HTML元素的服务器端的标示.

  7. OpenCV配置经历简述

    关于OpenCV的配置过程在这里做一简述和记录. 配置的是OpenCV2.2.0,环境为VS2010. 首先在OpenCV官网(http://opencv.org/downloads.html)下载了 ...

  8. 详解c++指针的指针和指针的引用(转)

    http://www.cnblogs.com/li-peng/p/4116349.html

  9. Thunderbird扩展

    FromToGMAP 1.4 Mail Redirect 0.7.8 MinisizeToTray revived 1.1.2 Nightly Tester Tools 3.7 Thunderbrid ...

  10. 如何使用PL/SQL进行远程数据库连接

    1.先找到Oracle数据库的安装地址然后找到network->ADMIN->tnsnames.ora文件 2.添加下面文件到tnsnames.ora文件中去,红色部分是需要修改的部分   ...