POJ 2977 Box walking 长方体表面两点距离
POJ2977 小学生的考试题,暴力得出O(1)的解法
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<vector>
using namespace std; int ans;
void turn(int i,int j,int x,int y,int z,int x0,int y0,int L,int W,int H)
{
if(z==0)ans=min(ans,(x-x0)*(x-x0)+(y-y0)*(y-y0));
else
{
if(i>=0&&i<2)
turn(i+1,j,H-z,y,x,x0+H,y0,H,W,L);
if(j>=0&&j<2)
turn(i,j+1,x,H-z,y,x0,y0+H,L,H,W);
if(i<=0&&i>-2)
turn(i-1,j,z,y,L-x,x0-L,y0,H,W,L);
if(j<=0&&j>-2)
turn(i,j-1,x,z,W-y,x0,y0-W,L,H,W);
}
} int rect_dist(int L,int W,int H,int x1,int y1,int z1,int x2,int y2,int z2)
{
if(z1!=0&&z1!=H)
if(y1==0||y1==W)
swap(y1,z1),swap(y2,z2),swap(W,H);
else
swap(x1,z1),swap(x2,z2),swap(L,H);
if(z1==H)
z1=0,z2=H-z2;
ans=1<<30;
turn(0,0,x2,y2,z2,x1,y1,L,W,H);
return ans;
} int main()
{//freopen("t.txt","r",stdin);
int L,W,H,x,y,z;
while(scanf("%d%d%d%d%d%d",&L,&W,&H,&x,&y,&z))
{
if(L==0&&W==0&&H==0&&x==0&&y==0&&z==0)return 0;
printf("%d\n",rect_dist(L,W,H,0,0,0,x,y,z));
}
return 0;
}
POJ 2977 Box walking 长方体表面两点距离的更多相关文章
- POJ 2977 Box walking
题目链接:http://poj.org/problem?id=2977 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 222 ...
- 计算两点距离 ios
//计算两点距离 -(float)distanceBetweenTwoPoint:(CGPoint)point1 point2:(CGPoint)point2 { ) + powf(point1.y ...
- 【百度地图API】如何根据摩卡托坐标进行POI查询,和计算两点距离
原文:[百度地图API]如何根据摩卡托坐标进行POI查询,和计算两点距离 摘要: 百度地图API有两种坐标系,一种是百度经纬度,一种是摩卡托坐标系.在本章你将学会: 1.如何相互转换这两种坐标: 2. ...
- 高德地图测两点距离android比较精确的
/////参考资料:高德官方:[http://lbs.amap.com/api/android-location-sdk/guide/android-location/getlocation] 主要三 ...
- HDU 5723 Abandoned country(kruskal+dp树上任意两点距离和)
Problem DescriptionAn abandoned country has n(n≤100000) villages which are numbered from 1 to n. Sin ...
- 模板倍增LCA 求树上两点距离 hdu2586
http://acm.hdu.edu.cn/showproblem.php?pid=2586 课上给的ppt里的模板是错的,wa了一下午orz.最近总是被坑啊... 题解:树上两点距离转化为到根的距离 ...
- hdu6446 网络赛 Tree and Permutation(树形dp求任意两点距离之和)题解
题意:有一棵n个点的树,点之间用无向边相连.现把这棵树对应一个序列,这个序列任意两点的距离为这两点在树上的距离,显然,这样的序列有n!个,加入这是第i个序列,那么这个序列所提供的贡献值为:第一个点到其 ...
- js根据经纬度计算两点距离
js版-胡老师 google.maps.LatLng.prototype.distanceFrom = function(latlng) { var lat = [this.lat(), lat ...
- HDU_5723_最小生成树+任意两点距离的期望
Abandoned country Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ...
随机推荐
- Volume 1. Maths - Misc
113 - Power of Cryptography import java.math.BigInteger; import java.util.Scanner; public class Main ...
- 去面试Python工程师,这几个基础问题一定要能回答,Python面试题No4
今天的面试题以基础为主,去面试Python工程师,这几个基础问题不能答错 第1题:列表和元组有什么不同? 列表和元组是Python中最常用的两种数据结构,字典是第三种. 相同点: 都是序列 都可以存储 ...
- selenium实战演练
利用selenium以及pyquery,爬取当当网图书信息,并且将数据存入文件以及MongoDB数据库中. 配置文件: key="python" MONGO_URL='localh ...
- reactNative 打包那些事儿
我们项目测试时一般是debug版本,打包上线,一般是release版本,所以在测试和打包时会走不同的方法,如上图所示. 在debug版本中,会走我们本地服务器,也就是自己电脑上的服务.在release ...
- mysql ab主从复制出错及解决过程
一.mysql主从服务器报错描述:Slave_IO_Running=NO,Slave_SQL_Running=YES,Last_Errno=0 mysql slave stop ; mysql sla ...
- JVM(四):深入分析Java字节码-下
JVM(四):深入分析Java字节码-下 在上文中,我们讲解了 Class 文件中的文件标识,常量池等内容.在本文中,我们就详细说一下剩下的指令集内容,阐述其分别代表了什么含义,以及 JVM 团队这样 ...
- php7.3源码编译
前置条件 autoconf:2.59+ automake:1.4+ libtool:1.4.x(除了1.4.2) re2c:0.13.4+ bison:建议1.281.35 或 1.75 依赖的库 y ...
- java STW stop the world 哈哈就是卡住了
java STW stop the world 哈哈就是卡住了 学习了:http://www.jb51.net/article/125400.htm
- node安装-Win+Linux+Mac osx
node下载地址,除了Mac osx或Win平台,仅有Linux平台命令安装. Win.Mac 点击即可下载(注:Mac有dmg和pkg安装格式). Linux分为Redhot和Deepin系列,安装 ...
- 使用 BenchmarkDotnet 测试代码性能 【Win10】单元测试中捕获异步方法的指定异常
先来点题外话,清明节前把工作辞了(去 tm 的垃圾团队,各种拉帮结派.勾心斗角).这次找工作就得慢慢找了,不能急了,希望能找到个好团队,好岗位吧.顺便这段时间也算是比较闲,也能学习一下和填掉手上的坑. ...