留恋 nyoj 854
留恋
- 描述
-
大家都知道,高中的时候,座位基本都是固定的,但是对于视力不好却又坐在后面的人是很不公平的。
念情的高中班主任安哥是个非常好的班主任,他为每个人着想,制定了一种的换位规则,每周执行一次:
每次都向右下角移动一个位置(即本周坐(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的更多相关文章
- NYOJ 1007
在博客NYOJ 998 中已经写过计算欧拉函数的三种方法,这里不再赘述. 本题也是对欧拉函数的应用的考查,不过考查了另外一个数论基本定理:如何用欧拉函数求小于n且与n互质所有的正整数的和. 记eule ...
- NYOJ 998
这道题是欧拉函数的使用,这里简要介绍下欧拉函数. 欧拉函数定义为:对于正整数n,欧拉函数是指不超过n且与n互质的正整数的个数. 欧拉函数的性质:1.设n = p1a1p2a2p3a3p4a4...pk ...
- NYOJ 333
http://www.cppblog.com/RyanWang/archive/2009/07/19/90512.aspx?opt=admin 欧拉函数 E(x)表示比x小的且与x互质的正整数的个数. ...
- NYOJ 99单词拼接(有向图的欧拉(回)路)
/* NYOJ 99单词拼接: 思路:欧拉回路或者欧拉路的搜索! 注意:是有向图的!不要当成无向图,否则在在搜索之前的判断中因为判断有无导致不必要的搜索,以致TLE! 有向图的欧拉路:abs(In[i ...
- nyoj 10 skiing 搜索+动归
整整两天了,都打不开网页,是不是我提交的次数太多了? nyoj 10: #include<stdio.h> #include<string.h> ][],b[][]; int ...
- 简答哈希实现 (nyoj 138 找球号2)
例题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=138 代码目的:复习哈希用 代码实现: #include "stdio.h&qu ...
- nyoj 284 坦克大战 简单搜索
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=284 题意:在一个给定图中,铁墙,河流不可走,砖墙走的话,多花费时间1,问从起点到终点至少 ...
- nyoj 170 网络的可靠性
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=170 思路:统计每个节点的度,将度为1的节点消去所需要的最少的边即为答案. 代码: #in ...
- nyoj 139 我排第几个--康拓展开
我排第几个 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 现在有"abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,说 ...
随机推荐
- TOMCAT原理详解及请求过程(转载)
转自https://www.cnblogs.com/hggen/p/6264475.html TOMCAT原理详解及请求过程 Tomcat: Tomcat是一个JSP/Servlet容器.其作为Ser ...
- Excel提取字符串示例
1.提取两个字符中间的字
- Python3.7源码在windows(VS2015)下的编译和安装
Python3.7源码在windows(VS2015)下的编译和安装 下载官方源码,使用vs2015(WIN10SDK),最python3.7.0的源码进行编译,编译出不同的版本(release,de ...
- IP地址、子网掩码、默认网关是什么意思?
(一) 问题解析 001. 问: IP地址,子网掩码,默认网关,DNS服务器,有什么区别呀?我知道没有IP地址就不能上网,我也知道没设DNS就不能上外网,可它们都有什么功能,有什么区别呢?还有 ...
- [模板] tarjan/联通分量/dfs树
//to update 边的分类 有向图边分为四类: 树边, 前向边, 返祖边(后向边), 横叉边. 上图: 判定 有向图 对图进行dfs, 不考虑已经遍历过的点, 得到dfs序 \(dfn_i\). ...
- docker 镜像备份magento 2.2.3
打包百度网盘: 链接:https://pan.baidu.com/s/1i_lSLt48RlxPonVA7qG5kg 密码:h1de 还原:docker load < (filename).t ...
- magento-2.2.6-1VM环境镜像-沙箱 - - 完全隔离的环境
打包处理下载地址: 链接:https://pan.baidu.com/s/1HX0WjWEN8Wc-4TDvgEWMog 提取码:s2ls 官方下载 文档 BITNAMI MAGENTO堆栈虚拟机 B ...
- app Inventor
什么是App Inventor ? MIT 官方网站 http://ai2.appinventor.mit.edu/Ya_tos_form.html 广州中文镜像网站 http://app.gzjk ...
- 【dp】合唱队形
题目描述 NN位同学站成一排,音乐老师要请其中的(N-KN−K)位同学出列,使得剩下的KK位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,…,K,他们的身高分别为 ...
- 最近公共祖先(LCT)
来一发\(LCT\)求\(LCA\) \(LCT\)在时间上不占据优势,码量似乎还比树剖,倍增,\(Tarjan\)大一点 但是却是一道\(LCT\)的练手题 对于每一个询问,我们只需要把其中一个点( ...