codeforces 374A Inna and Pink Pony 解题报告
题目链接:http://codeforces.com/problemset/problem/374/A
题目意思:给出一个 n 行 m 列 的棋盘,要将放置在坐标点为(i, j)的 candy 移动到四个角落(1,1),(1,m),(n, 1),(n, m) 中的其中一个。假设当前在位置(x, y),规定每次移动遵循,(x+a, y+b) 、 (x+a, y-b)、 (x-a, y+b)、(x-a, y-b)。求最小的移动次数。
求出 (i, j) 到每个角落的距离diff_x, diff_y,而且diff_x 必须要除得尽 a, diff_y除得尽 b,这个很好理解,次数嘛~~~除此,除完之后这两个值必须是同奇或同偶。还有就是移动的时候不能超出边界,在边界时的特判了~~~~
A题都不简单啊~~~
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <limits.h>
using namespace std; int n, m, i, j, a, b; int check(int corner_x, int corner_y)
{
if (corner_x == i && corner_y == j)
return ;
if (i + a > n && i - a < || j + b > m && j - b < ) // 边界处理
return INT_MAX;
int diff_x = abs(corner_x - i);
int diff_y = abs(corner_y - j);
if (diff_x % a || diff_y % b) // 步数要为整数
return INT_MAX;
int div_x = diff_x / a;
int div_y = diff_y / b;
if ((!(div_x&) && div_y&) || (div_x&) && !(div_y&)) // 移动的次数要同时为奇数或偶数
return INT_MAX;
return max(div_x, div_y);
} int main()
{
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
#endif
while (scanf("%d%d%d%d%d%d", &n, &m, &i, &j, &a, &b) != EOF)
{
int ans = INT_MAX;
ans = min(check(,), check(,m));
ans = min(ans, check(n,));
ans = min(ans, check(n,m));
if (ans == INT_MAX)
printf("Poor Inna and pony!\n");
else
printf("%d\n", ans);
}
return ;
}
codeforces 374A Inna and Pink Pony 解题报告的更多相关文章
- codeforces 499A.Inna and Pink Pony 解题报告
题目链接:http://codeforces.com/problemset/problem/499/A 题目意思:有两种按钮:1.如果当前观看的时间是 t,player 可以自动处理下一分钟,姑且理解 ...
- Codeforces 374A - Inna and Pink Pony
原题地址:http://codeforces.com/contest/374/problem/A 好久没写题目总结了,最近状态十分不好,无论是写程序还是写作业还是精神面貌……NOIP挂了之后总觉得缺乏 ...
- 220 DIV2 A. Inna and Pink Pony
Inna and Pink Pony 输入n,m,i,j,a,b 可以看成n行m列的矩阵,起点(i,j),每次移动(a,b),(-a,-b),(-a,b),(a,-b) 可移动到(1,m),(n,1) ...
- cf A. Inna and Pink Pony(思维题)
题目:http://codeforces.com/contest/374/problem/A 题意:求到达边界的最小步数.. 刚开始以为是 bfs,不过数据10^6太大了,肯定不是... 一个思维题, ...
- codeforces C1. The Great Julya Calendar 解题报告
题目链接:http://codeforces.com/problemset/problem/331/C1 这是第一次参加codeforces比赛(ABBYY Cup 3.0 - Finals (onl ...
- codeforces B. Eugeny and Play List 解题报告
题目链接:http://codeforces.com/problemset/problem/302/B 题目意思:给出两个整数n和m,接下来n行给出n首歌分别的奏唱时间和听的次数,紧跟着给出m个时刻, ...
- codeforces 433C. Ryouko's Memory Note 解题报告
题目链接:http://codeforces.com/problemset/problem/433/C 题目意思:一本书有 n 页,每页的编号依次从 1 到 n 编排.如果从页 x 翻到页 y,那么| ...
- codeforces 556B. Case of Fake Numbers 解题报告
题目链接:http://codeforces.com/problemset/problem/556/B 题目意思:给出 n 个齿轮,每个齿轮有 n 个 teeth,逆时针排列,编号为0 ~ n-1.每 ...
- codeforces 510B. Fox And Two Dots 解题报告
题目链接:http://codeforces.com/problemset/problem/510/B 题目意思:给出 n 行 m 列只有大写字母组成的字符串.问具有相同字母的能否组成一个环. 很容易 ...
随机推荐
- BZOJ solve 100 纪念
按照xiaoyimi立下的flag是不是该去表白啦--可惜并没有妹子
- foeach集合遍历
package number; public class Number { public static void main(String[] args) { int[] arr={5,2,1,0,3, ...
- (Beta)Let's-版本发布说明
Let's App(Beta)现已隆重上市 GIT源码请戳此处 版本的新功能 我们在这一版本对于项目的规划目标主要集中在三个方面——预约用户观感,完善功能链条,改善用户体验 界面 首先,在β阶 ...
- PL/0编译器(java version)–Pcode.java
1: package compiler; 2: 3: /** 4: * //虚拟机指令 5: * 6: * @author jiangnan 7: * 8: */ 9: public class ...
- Fedora 20下配置samba服务器
1 安装samba [root@localhost ~]# yum –y install samba ← 通过网络安装samba yum -y install samba-client // ...
- 转 web项目中的web.xml元素解析
转 web项目中的web.xml元素解析 发表于1年前(2014-11-26 15:45) 阅读(497) | 评论(0) 16人收藏此文章, 我要收藏 赞0 上海源创会5月15日与你相约[玫瑰里 ...
- pthread_exit
当主线程调用pthread_exit时,其余线程不退出,继续执行 当主线程调用exit/或return时,其余线程退出,整个进程都退出了. #include <pthread.h> #in ...
- centos安装gitlab
原文链接: http://www.centoscn.com/image-text/install/2015/0320/4929.html http://www.01happy.com/centos-6 ...
- WebService学习总结(三)——使用JDK开发WebService
一.WebService的开发手段 使用Java开发WebService时可以使用以下两种开发手段 1. 使用JDK开发(1.6及以上版本) 2.使用CXF框架开发(工作中) 二.使用JDK开发Web ...
- java.net.SocketException:Software caused connection abort: recv failed 异常分析 +socket客户端&服务端代码
java.net.SocketException:Software caused connection abort: recv failed 异常分析 分类: 很多的技术 2012-01-04 12: ...