POJ3889Fractal Streets 递归+ 坐标变换
来源:互联网 发布:剑灵 外国人捏脸数据 编辑:程序博客网 时间:2024/05/22 11:37
参考:https://vjudge.net/solution/10966515
他这个地方是
1 4
2 3的标号
在递归的过程中要知道如何处理”轴对称”,”点对称” 的方式/
LL P4[50];void gao(LL n,LL a,LL &x,LL &y){ if(n==1){ if(a==1)x=y=1; if(a==2)x=1,y=2; if(a==3)x=y=2; if(a==4)x=2,y=1; return ; } if(a<=P4[n-1]){ gao(n-1,a,y,x); } else if(a<=2*P4[n-1]){ gao(n-1,a-P4[n-1],x,y); y+=(1<<(n-1)); } else if(a<=3*P4[n-1]){ gao(n-1,a-2*P4[n-1],x,y); x+=(1<<(n-1)); y+=(1<<(n-1)); } else if(a<=4*P4[n-1]){ gao(n-1,a-3*P4[n-1],y,x); x=(1<<n)+1-x; y=(1<<(n-1))+1-y; }}int main(){ P4[1]=4; rep(i,2,32)P4[i]=P4[i-1]*4; int T;sf("%d",&T); while(T--){ int n,s,t; sf("%d%d%d",&n,&s,&t); LL sx,sy,ex,ey; gao(n,s,sx,sy); gao(n,t,ex,ey); pf("%.0f\n",sqrt((sx-ex)*(sx-ex)+(sy-ey)*(sy-ey))*10); }}
阅读全文
0 0
- POJ3889Fractal Streets 递归+ 坐标变换
- 坐标变换
- 坐标变换
- 坐标变换
- 坐标变换
- 坐标变换
- 坐标变换
- 坐标变换
- 坐标变换
- 坐标变换
- 坐标变换
- 基变换与坐标变换
- 坐标变换 及矩阵变换
- 基变换与坐标变换
- OpenGL坐标变换详解
- OpenGL坐标变换详解
- openGL坐标变换
- 第五讲 坐标变换
- Mysql limit 查询性能优化
- github推送代码大致流程
- jzoj 2017.10.08 模拟赛
- 神经网络代码识别手写字(python3.4.3版本)
- c++快速将容器的所有值相加(accumulate)
- POJ3889Fractal Streets 递归+ 坐标变换
- 笔试_oracle(1)
- 10. Regular Expression Matching
- UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
- 更换PHP 5.4以上版本后Dedecms后台登录空白的解决方法
- [BZOJ1774]过路费+[BZOJ2934]业务
- Eclipse 常用快捷键
- mysql 索引介绍
- 接口的学习与使用