留恋

时间限制:1000 ms  |  内存限制:65535 KB
难度:2
 
描述

大家都知道,高中的时候,座位基本都是固定的,但是对于视力不好却又坐在后面的人是很不公平的。

念情的高中班主任安哥是个非常好的班主任,他为每个人着想,制定了一种的换位规则,每周执行一次:

每次都向右下角移动一个位置(即本周坐(0,1),则下周坐(1,2))

若已移动到边上,则返回顶部(即在行数为3的情况下,本周在(2,n),则下周在(0,n+1),列同)

现在念情想知道,如果教室有(n*m)个座位,他能不能把所有的座位都坐一次呢?(假设念情读高中的时间无限

 
输入
第一行一个整数N表示N组测试数据
接下来N行每行两个整数n,m表示教室的座位
1<n<10000
1<m<10000
输出
若念情能够把座位都坐一边,则输出Possible,否则输出Impossible
样例输入
3
2 3
2 2
3 6
样例输出
Possible
Impossible
Impossible 方法一:利用最小公因数
//最小公因数
#include<iostream>
using namespace std;
int gcd(int a, int b) ;
int main() {
int t;
cin >> t;
while (t--) {
int n, m;
cin >> n >> m;
if (gcd(n, m) == ) {
cout << "Possible" << endl;
} else {
cout << "Impossible" << endl;
}
}
}
int gcd(int a, int b) {
if (a%b == ) return b;
return gcd(b,a%b);
}

方法二:

分析图:

#include<iostream>
#include<cstring>
using namespace std;
const int N = ;
int col[N], row[N];
int main() {
int t;
cin >> t;
while (t--) {
int n, m;
cin >> n >> m;
int i , j, x, y;
i = j = x = y = ;
memset(col,,sizeof(col));
memset(row,,sizeof(row));
while (x <= n && y <= m) {
if (n-i+ < m-j+) {j = j+ n-i+; i = n+; }//i 先到达底部 同时移动n-i+1 步
else if (n-i+ > m-j+) {i = i +m-j+; j = m+; }//j 先到达底部
else { i = n+; j = m+;}//i、j 同时到达底部
if (i > n) { //i 比n大时i必等于n+1
i = ;
if (j <= m) {
if (col[j]) break;
col[j] = ;
y++;
} else {//i 比m大时i必等于m+1 既要向左转
col[] = ;
y++;
}
}
if (j > m) {//i 比m大时i必等于m+1
j = ;
if (i <= n) {
if (row[i]) break;
row[i] = ;
x++;
} else {//i 比n大时i必等于n+1 既要向上转
row[] = ;
x++;
}
}
}
if (x == n+ && y == m+) {//每一个座位都做遍了
cout << "Possible" << endl;
} else {
cout << "Impossible" << endl;
}
}
}
 

留恋 nyoj 854的更多相关文章

  1. NYOJ 1007

    在博客NYOJ 998 中已经写过计算欧拉函数的三种方法,这里不再赘述. 本题也是对欧拉函数的应用的考查,不过考查了另外一个数论基本定理:如何用欧拉函数求小于n且与n互质所有的正整数的和. 记eule ...

  2. NYOJ 998

    这道题是欧拉函数的使用,这里简要介绍下欧拉函数. 欧拉函数定义为:对于正整数n,欧拉函数是指不超过n且与n互质的正整数的个数. 欧拉函数的性质:1.设n = p1a1p2a2p3a3p4a4...pk ...

  3. NYOJ 333

    http://www.cppblog.com/RyanWang/archive/2009/07/19/90512.aspx?opt=admin 欧拉函数 E(x)表示比x小的且与x互质的正整数的个数. ...

  4. NYOJ 99单词拼接(有向图的欧拉(回)路)

    /* NYOJ 99单词拼接: 思路:欧拉回路或者欧拉路的搜索! 注意:是有向图的!不要当成无向图,否则在在搜索之前的判断中因为判断有无导致不必要的搜索,以致TLE! 有向图的欧拉路:abs(In[i ...

  5. nyoj 10 skiing 搜索+动归

    整整两天了,都打不开网页,是不是我提交的次数太多了? nyoj 10: #include<stdio.h> #include<string.h> ][],b[][]; int ...

  6. 简答哈希实现 (nyoj 138 找球号2)

    例题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=138 代码目的:复习哈希用 代码实现: #include "stdio.h&qu ...

  7. nyoj 284 坦克大战 简单搜索

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=284 题意:在一个给定图中,铁墙,河流不可走,砖墙走的话,多花费时间1,问从起点到终点至少 ...

  8. nyoj 170 网络的可靠性

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=170 思路:统计每个节点的度,将度为1的节点消去所需要的最少的边即为答案. 代码: #in ...

  9. nyoj 139 我排第几个--康拓展开

    我排第几个 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 现在有"abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,说 ...

随机推荐

  1. python面对对象(不全解)

    面对对象:以人类为例,人类通用功能:吃喝拉撒,就可以封装成一个类,不同功能:嫖赌毒,就是对象的不同功能.继承,多态… 上码 class Person(object): def __init__(sel ...

  2. 【问题解决方案】Github中的jupyter notebook文件(.ipynb)加载失败/失败

    两个方法: 法一:本机安装jupyter notebook的情况下直接下载文件并打开 本机打开的话会在浏览器中显示,地址为localhost:8888,也就是本机 法二:在线打开:利用 'https: ...

  3. jstl的foreach标签

    jsp支持丰富的jstl标签语言(需要jar包支持),其中list循环(迭代)用的是<c:forEach></c:forEach>标签. 这个标签的作用就是迭代输出标签内部的内 ...

  4. Struts2+Spring+Hibernate3整合

    这几天正在复习三大框架的知识,特意把写出来,如有错误,希望大家多指教! 代码地址:https://git.coding.net/puchenglin/SSHDemo.git 1. 引入jar包 Str ...

  5. DAY25、面向对象总复习

    面向对象总复习:面向过程编程思想: 核心是 过程 二字, 过程指的是解决问题的步骤是,即先干什么再干什么. 基于该编程思想编写程序,相当于一条流水线,一种机械式的思维方式. 面向对象编程思想: 核心是 ...

  6. DAY21、面向对象

    一.内存管理与正则语法1.内存管理:引用计数:垃圾回收机制工作原理 引用就 +1 ,释放就 -1 ,当计数为0时,就会被垃圾回收机制回收标记清除:解决循环导入引用导致的内存泄漏 标记:GC roots ...

  7. commons-httpclient 实现get和post请求

    引入的jar包为: <!-- https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient --> &l ...

  8. HTML&CSS_基础02

    一.实体 # 1. 一些符号如 “<”. “>”. “ ”. ”©“等,不能使用其本身,需要借助实体(即转义字符),格式通常为:& (字符对应实体); 如 &lt . &a ...

  9. CPU监控

    题目描述 Bob需要一个程序来监视CPU使用率.这是一个很繁琐的过程,为了让问题更加简单,Bob会慢慢列出今天会在用计算机时做什么事. Bob会干很多事,除了跑暴力程序看视频之外,还会做出去玩玩和用鼠 ...

  10. SQL server 行转列 列转行

    1.简单案例 create database Hang go use Hang create table Students ( Name varchar(50), Kemu varchar(50), ...