码迷,mamicode.com
首页 > 其他好文 > 详细

poj3889 Fractal Streets

时间:2018-12-17 11:45:54      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:就是   sed   none   typedef   double   int   scan   namespace   lse   

分形图,就是找规律。。。

技术分享图片
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
typedef long long ll;
typedef pair<ll,ll> P;
P get_(int n,int pos){
    P ret;
    if(!n){ret.first=0;ret.second=0;return ret;}
    ll k=1<<(2*n-2),k2=1<<(n-1);
    P t=get_(n-1,pos%k);
    int opt=pos/k;
    if(opt==0)ret.first=t.second,ret.second=t.first;
    else if(opt==1)ret.first=t.first,ret.second=t.second+k2;
    else if(opt==2)ret.first=t.first+k2,ret.second=t.second+k2;
    else ret.first=2*k2-t.second-1,ret.second=k2-t.first-1;
    return ret;
}
double dis(ll x1,ll y1,ll x2,ll y2){return sqrt((double)(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));} 
int main(){
    int T;
    scanf("%d",&T);
    while(T--){
        ll n,h,o;
        scanf("%lld%lld%lld",&n,&h,&o);
        h--;o--;
        P a1=get_(n,h),a2=get_(n,o);
        printf("%.0lf\n",dis(a1.first,a1.second,a2.first,a2.second)*10.0);
    }
    return 0;
}
View Code

 

poj3889 Fractal Streets

标签:就是   sed   none   typedef   double   int   scan   namespace   lse   

原文地址:https://www.cnblogs.com/Dream-Runner/p/10129846.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!