9505 射了多少
2015-11-24 19:35
288 查看
#include <stdio.h> #include <math.h> #include <stdlib.h> int gcd(int a,int b) { int r; if(a<b) {r=a;a=b;b=r;} while(a%b!=0) {r=a%b;a=b;b=r;} return b; } int main() { int a,b,x,y,m,n,t,s=0; scanf("%d %d",&a,&b); scanf("%d %d",&x,&y); m=abs(x-a); n=abs(y-b); if(m!=0&&n!=0) { t=gcd(m,n); s=m+n-t; } printf("%d",s); return 0; }
View Code
画图找规律可知sum=m+n-(m与n的最大公约数)
9505 射了多少时间限制:1000MS 内存限制:65535K提交次数:676 通过次数:107 题型: 编程题 语言: G++;GCC Description大家都知道CS中的AWP可以一枪KO人家,最爽的就是没看到别人,但知道人家在墙后而一枪穿墙爆头击毙. 现在把CS地图定义为一个二维空间,你的位置在(x0,y0),你不知道敌人的位置(除非有间谍),因此你想尽可能多的穿过地图上的格子. 但你不知道如何计算当他射向点(x1,y1)(到x1,y1停下来)的时候穿过了多少个格子,因此希望你这个强大的programmer帮忙 输入格式输入中一共有两行 第一行是2个整数表示你的位置x0,y0(1000>=x0,y0>=0) 第二行是2个整数表示子弹停下的位置x1,y1(1000>=x1,y1>=0) 输出格式输出只有一行 穿过的格子数(碰到不算穿过任何格子,要严格穿过) 输入样例0 0 2 2 输出样例2 来源ick2作者a470086609 |
相关文章推荐
- Java 十进制转十六进制
- nyoj--42--一笔画问题(并查集)
- zoj3201 树形DP+DFS
- 剑指offer2 替换空格
- 数组(二分查找)
- BZOJ 2751: [HAOI2012]容易题(easy)( )
- Linux ldconfig命令
- spring 缓存 @CachePut 和 @Cacheable 区别
- 基于PXE+Pressed方式的Ubuntu14.04网络安装
- linux 进线程间通信
- 5.面向对象
- Joomla 获取当前时间
- LibreOffice开发者数量超过1000名
- 4.面向对象
- ArrayList源码详细解析分析
- iOS 利用UIWebView与JavaScript交互的最简单办法
- 在linux的环境下 连接深澜校园网的方法
- Solr5.0源码分析-SolrDispatchFilter
- LightOJ 1166 Old sorting(贪心/模拟?)
- Socket套接字