首页 > 其他分享 >POJ - 1870

POJ - 1870

时间:2024-09-03 19:02:51浏览次数:5  
标签:__ _____ .. int POJ 坐标 1870 include

先把蜂巢快递柜画出来:

       __    __    __    __
    __/  \__/  \__/  \__/  \__
 __/  \__/  \__/53\__/  \__/  \__
/  \__/  \__/52\__/54\__/  \__/  \
\__/  \__/51\__/31\__/55\__/  \__/
/  \__/50\__/30\__/32\__/56\__/  \
\__/49\__/29\__/15\__/33\__/57\__/
/  \__/28\__/14\__/16\__/34\__/  \
\__/48\__/13\__/ 5\__/17\__/58\__/
/..\__/27\__/ 4\__/ 6\__/35\__/  \
\__/47\__/12\__/ 1\__/18\__/59\__/
/..\__/26\__/ 3\__/ 7\__/36\__/  \
\__/46\__/11\__/ 2\__/19\__/60\__/
/..\__/25\__/10\__/ 8\__/37\__/  \
\__/45\__/24\__/ 9\__/20\__/61\__/
/..\__/44\__/23\__/21\__/38\__/  \
\__/70\__/43\__/22\__/39\__/62\__/
/  \__/69\__/42\__/40\__/63\__/  \
\__/  \__/68\__/41\__/64\__/  \__/
/  \__/  \__/67\__/65\__/  \__/  \
\__/  \__/  \__/66\__/  \__/  \__/
   \__/  \__/  \__/  \__/  \__/
      \__/  \__/  \__/  \__/

显然,算一下点坐标即可

       _____
 _____/ 0,2 \_____
/ 1,-1\_____/ 1,1 \
\_____/ 0,0 \_____/
/-1,-1\_____/ 1,-1\
\_____/ 0,-2\_____/
      \_____/ 

然后计算两个数的距离时,我们可以计算两个数的位置横坐标差位x,纵坐标差位y,当x < y的时候,按照斜线走,走到相同列的时候就可以直接向下走,一直到v,在向下走的时候,一步可以走坐标中的2的距离。
当x>=y的时候,可以先斜线走走到相同的行,然后横着走,一直找到v,在横着走的时候,一次只能走一个坐标。
代码如下:

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
struct point{
	int x,y;
}p,q,a[10010];
int s[6][2]={{-1,-1},{-1,1},{0,2},{1,1},{1,-1},{0,-2}};
void init(){
	a[1].x=a[1].y=0;
	int k,i,j,cnt=1;
	for(k=2;cnt<10000;k++){
		p.x=a[cnt].x;
		p.y=a[cnt].y-2;
		a[++cnt]=p;
		for(i=0;i<6;i++){
			for(j=0;j<k-1;j++){
				if(i==0&&j==k-2)continue;
				p.x+=s[i][0];
				p.y+=s[i][1];
				a[++cnt]=p;
				if(cnt==10000)break;
			}
			if(cnt==10000)break;
		}
	}
}
int main(){
	init();
	int u,v,x,y,ans;
	while(scanf("%d%d",&u,&v)){
		if(u+v==0)return 0;
		x=abs(a[u].x-a[v].x);
		y=abs(a[u].y-a[v].y);
		ans=0;
		if(x<y){
			ans=x+(y-x)/2;
		}
		else ans=y+(x-y);
		printf("The distance between cells %d and %d is %d.\n",u,v,ans);
	}
	return 0;
}

标签:__,_____,..,int,POJ,坐标,1870,include
From: https://www.cnblogs.com/zan-mei-tai-yang/p/18395210

相关文章

  • POJ - 3318
    他说:O(n^3)是过不了滴一搜……6代码和题解没有实质区别:#include<cstdio>#include<ctime>#include<cstdlib>usingnamespacestd;inta[505][505],b[505][505],c[505][505];intmain(){ srand(time(NULL)); intn; ios::sync_with_stdio(0); cin.tie(0); while(cin......
  • POJ - 2976
    原来是二分谁对平均分贡献大选谁界限<0.001,100次足矣#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>usingnamespacestd;constintmaxn=1010;intn,k;doublemid;structNode{ doublea,b;}w[maxn];boolcmp(Nodex,Nodey......
  • POJ - 3071
    概率题。本蒟蒻不会概率dp,于是手搓枚举。反正爆枚够用后记:SadBee的想法考虑维护每队对上上一队/下一队的胜率。只有两队最简单,用1乘即可那多队呢?不如看成两队。见:P(1胜)=P(1战胜2)P(3战胜4)P(1战胜3)+P(1战胜2)P(4战胜3)P(1战胜4)P(2胜)=......
  • POJ1321-棋盘问题
    POJ从23号崩了,放弃POJ(也不知是不是有比赛把oj都关了),各大OJLeetcode/PAT各种花里胡哨开会员能数据,它不配正经刷题牛客网招聘多课程广告多我焦虑不想入hdoj和洛谷不错,找了找搜索算法的题目单,之前看过数一巨巨写的知乎:邝斌带你飞专题,无限回忆西安艾教培训,卿俊888上交知乎咨询,科技......
  • TopoJSON格式详解,写入读取TopoJSON示例
    还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。No.内容链接1Openlayers【入门教程】-......
  • D40 2-SAT POJ3683 Priest John's Busiest Day
    视频链接:D402-SATPOJ3683PriestJohn'sBusiestDay_哔哩哔哩_bilibili   POJ3683--PriestJohn'sBusiestDay(poj.org)#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>usingnamespacestd;......
  • SPOJ COT3 - Combat on a tree
    挺好的一个题,算是博弈和DS的有机结合这类问题一眼考虑SG函数,同时树上的SG函数一般都是从子树向上递推考虑若某个点的子树内全是黑点,则其SG函数为零;否则考虑枚举所有的后继状态不难发现选中一个白点会把这个子树断成一个森林,这个后继状态的SG函数就是每个连通块SG函......
  • flink stream转table POJO对象遇到的坑
    核心代码publicclassTrackLog{privateIntegerentityId;//flink的时间类型,必须使用LocalDateTimeprivateLocalDateTimestatDateTime; publicIntegergetEntityId(){returnentityId;}publicvoidsetEntityId(IntegerentityId){......
  • 【项目实战】解码软件工程:一文读懂DO/PO/BO/AO/DTO/DAO/POJO/VO的奥秘
    文章目录一文读懂DO/PO/BO/AO/DTO/DAO/POJO/VO的奥秘不同领域作用POJO(PlainOldJavaObject)VO(ValueObject)VO(ViewObject)的特点:实体类(Entity)数据传输对象(DTO)领域对象(DomainObject)持久化对象(PersistentObject)业务对象(BusinessObject)应用对象(ApplicationObject)......
  • POJ3278 Catch That Cow
    CatchThatCowTimeLimit: 2000MS MemoryLimit: 65536KTotalSubmissions: 222142 Accepted: 67092DescriptionFarmerJohnhasbeeninformedofthelocationofafugitivecowandwantstocatchherimmediately.Hestartsatapoint N (0......