青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

pku 3072

2009年7月26日

題目鏈接:PKU 3072 Robot  

分類:角度旋轉(zhuǎn)+Dijkastra

題目分析與算法原型
         此題也算是最短路的一個(gè)變形,計(jì)算代價(jià)的時(shí)候加入了每3個(gè)點(diǎn),兩條邊的夾角的度數(shù),因此需要自己好好的推算一下角度的公式,題目已經(jīng)提示了用atan2(double,double)這個(gè)函數(shù),所以計(jì)算的時(shí)候把握好3個(gè)點(diǎn)中以哪個(gè)點(diǎn)為旋轉(zhuǎn)點(diǎn),關(guān)于旋轉(zhuǎn)可以有兩個(gè)方向,取小于180度的那個(gè)方向       

Code:

  1
#include<stdio.h>
  2#include<string.h>
  3#include<math.h>
  4#define max 1000000000
  5#define len 25
  6#define pi acos(-1.0)
  7
  8int r,n,visit[len],path[len];
  9double x[len],y[len],map[len][len],dis[len];
 10bool find;
 11
 12void init()
 13{
 14    int i,j;
 15    for(i=1;i<=n;i++)
 16        for(j=1;j<=n;j++)
 17        {
 18            if(i==j)map[i][j]=0;
 19            else
 20            {
 21                double l=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
 22                if(l>r)map[i][j]=max;
 23                else map[i][j]=l;
 24            }

 25        }

 26}

 27double degree(int start,int mid,int end,bool change)
 28{
 29    double ds,d1,d2;
 30
 31    if(!change)d1=atan2(y[mid]-y[start],x[mid]-x[start])*180/pi;
 32    else d1=atan2(y[start]-y[mid],x[start]-x[mid])*180/pi;
 33    d2=atan2(y[end]-y[mid],x[end]-x[mid])*180/pi;
 34    if(d1<0)d1+=360;
 35    if(d2<0)d2+=360;
 36    ds=fabs(d2-d1);
 37    if(ds>180)ds=360-ds;
 38    return ds;
 39}

 40void dij(int v0,int v)
 41{
 42    int i,j,u;
 43    for(i=1;i<n;i++)
 44    {
 45        if(i!=v0&&map[v0][i]<max)
 46        {
 47            double t=degree(n,v0,i,true);
 48            dis[i]=map[v0][i]+t;
 49        }

 50        else dis[i]=map[v0][i];
 51
 52        if(i!=v0&&dis[i]<max)path[i]=v0;
 53        else path[i]=-1;
 54    }

 55    dis[n]=map[v0][n];
 56    visit[v0]=1;
 57    for(i=1;i<n;i++)
 58    {
 59        double min=max;
 60        for(j=1;j<=n;j++)
 61            if(!visit[j]&&dis[j]<min)
 62            {
 63                u=j;
 64                min=dis[j];
 65            }

 66        if(min==max)return ;
 67
 68        if(u==v)
 69        {
 70            find=true;
 71            return ;
 72        }

 73        visit[u]=1;
 74        for(j=1;j<=n;j++)
 75            if(!visit[j]&&map[u][j]<max)
 76            {
 77                double tt=degree(path[u],u,j,false);
 78                if(dis[u]+map[u][j]+tt<dis[j])
 79                {
 80                    dis[j]=dis[u]+map[u][j]+tt;
 81                    path[j]=u;
 82                }

 83            }

 84    }

 85    return ;
 86}

 87
 88int main()
 89{
 90    int i;
 91    while(scanf("%d%d",&r,&n)!=EOF)
 92    {
 93        if(r==-1&&n==-1)break;
 94        for(i=1;i<=n;i++)scanf("%lf%lf",&x[i],&y[i]);
 95        find=false;
 96        init();
 97        memset(visit,0,sizeof(visit));
 98        dij(1,n);
 99        if(find)printf("%d\n",(int)(dis[n]+0.5));
100        else printf("impossible\n");
101    }

102    return 0;
103}

104

posted on 2009-07-26 17:49 蝸牛也Coding 閱讀(286) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2009年7月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

導(dǎo)航

統(tǒng)計(jì)

常用鏈接

留言簿(8)

隨筆檔案(78)

搜索

積分與排名

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美永久精品| 中文在线资源观看网站视频免费不卡| 一区二区三区四区五区精品| 欧美区国产区| 一区二区激情视频| 亚洲精品乱码久久久久久久久| 亚洲影院色无极综合| 国产精品久久久久秋霞鲁丝 | 亚洲免费观看高清在线观看| 欧美成人免费全部观看天天性色| 亚洲国产精品一区二区第一页 | 久久精品中文字幕一区| 亚洲欧美激情精品一区二区| 国产日韩在线亚洲字幕中文| 老司机成人在线视频| 乱码第一页成人| avtt综合网| 欧美一级二区| 亚洲国产激情| 亚洲最新在线| 国产原创一区二区| 亚洲高清三级视频| 国产精品入口尤物| 欧美一区影院| 麻豆国产精品一区二区三区| 一区二区欧美亚洲| 久久黄金**| 99国内精品久久久久久久软件| 一区二区不卡在线视频 午夜欧美不卡在 | 中文日韩欧美| 欧美亚洲视频一区二区| 亚洲欧洲综合另类| 性欧美大战久久久久久久免费观看 | 久久久久久夜| 亚洲自拍偷拍视频| 可以看av的网站久久看| 午夜精品久久久久久久久| 久久久久久久久岛国免费| 亚洲午夜日本在线观看| 鲁大师成人一区二区三区| 欧美在线播放一区| 欧美精品www在线观看| 久久国产精品久久国产精品| 欧美精品xxxxbbbb| 欧美在线三级| 欧美日韩免费观看一区=区三区| 久久九九久久九九| 国产精品免费网站在线观看| 欧美高清视频www夜色资源网| 欧美日韩在线直播| 欧美激情亚洲激情| 伊人成人在线| 午夜一区二区三区在线观看| 亚洲午夜性刺激影院| 美女精品自拍一二三四| 亚洲欧美久久| 国产精品大全| 99精品视频免费在线观看| 亚洲乱码国产乱码精品精天堂| 香港久久久电影| 午夜精品成人在线视频| 欧美激情四色| 亚洲高清视频的网址| 亚洲国产导航| 久久全国免费视频| 久久久亚洲综合| 国产精品日韩高清| 亚洲午夜激情网页| 亚洲中无吗在线| 国产精品久久婷婷六月丁香| 99精品国产99久久久久久福利| 99re66热这里只有精品4| 美女视频黄免费的久久| 欧美大片网址| 亚洲欧洲精品一区二区| 久久亚洲美女| 亚洲第一精品夜夜躁人人爽 | 国产精品无码永久免费888| 日韩一区二区免费看| 一本色道久久综合| 欧美午夜电影一区| 亚洲影视综合| 久久久久久夜精品精品免费| 国产在线拍揄自揄视频不卡99 | 久久综合伊人77777麻豆| 在线观看一区| 欧美激情bt| 亚洲天堂av图片| 欧美一区成人| 国产资源精品在线观看| 亚洲欧美日韩一区二区在线 | 亚洲另类在线视频| 免费观看成人| 国产一区二区三区免费在线观看| 久久人人爽人人爽| 亚洲一区二区综合| 亚洲欧洲精品成人久久奇米网| 午夜精品久久一牛影视| 日韩写真视频在线观看| 在线精品视频在线观看高清| 国产日韩综合一区二区性色av| 欧美激情亚洲| 亚洲精品国产精品国自产观看浪潮 | av不卡在线看| 欧美不卡高清| 欧美日韩免费网站| 亚洲国产精品黑人久久久| 激情欧美日韩一区| 亚洲国产中文字幕在线观看| 好吊视频一区二区三区四区| 亚洲精品美女久久7777777| 亚洲精品国产日韩| 久久亚洲精品欧美| 久久久久久夜| 欧美精品一区二区在线观看| 久久尤物电影视频在线观看| 国内成+人亚洲+欧美+综合在线| 欧美日韩在线大尺度| 欧美性事免费在线观看| 国产精品福利影院| 亚洲国产精品久久久久秋霞不卡| 国产视频欧美视频| 亚洲无毛电影| 久久福利资源站| 国产乱码精品1区2区3区| 亚洲卡通欧美制服中文| 亚洲免费精彩视频| 女同一区二区| 亚洲精品日韩精品| 91久久精品www人人做人人爽| 在线日韩av| 亚洲免费一区二区| 可以看av的网站久久看| 亚洲久久视频| 老司机免费视频久久| 国产精品久久久一区二区三区| 亚洲高清在线精品| 亚洲午夜一级| 亚洲美女在线一区| 欧美成人精品在线| 极品av少妇一区二区| 亚洲欧美日韩国产综合在线| 亚洲国产精品黑人久久久| 欧美一区在线视频| 国产精一区二区三区| 亚洲精品资源| 91久久精品一区| 久久香蕉精品| 亚洲福利一区| 久久综合九色综合欧美就去吻| 亚洲一区二区三区视频播放| 欧美国产一区二区| 日韩一二三在线视频播| 欧美黄色小视频| 欧美在线综合| 亚洲国产成人porn| 欧美电影在线观看| 欧美韩日一区| 亚洲午夜视频在线观看| 亚洲欧美美女| 在线成人av网站| 亚洲高清一区二区三区| 欧美日韩另类丝袜其他| 亚洲免费影视| 久久成人一区| 一本色道久久加勒比精品| 这里只有精品丝袜| 国产亚洲女人久久久久毛片| 久久精品女人| 免费亚洲一区二区| 亚洲在线播放| 久久中文字幕一区| 亚洲午夜av电影| 午夜精品一区二区三区在线播放 | 欧美日本一道本在线视频| 亚洲视频在线免费观看| 亚洲伊人第一页| 亚洲福利视频三区| 中文亚洲欧美| 午夜精品久久久久久久久 | 亚洲国产清纯| 亚洲精品中文字| 亚洲久久在线| 亚洲精品视频免费观看| 欧美午夜不卡视频| 免费观看久久久4p| 欧美视频中文字幕在线| 欧美在线影院| 亚洲男人天堂2024| 久久国产毛片| 欧美日韩综合精品| 国产精品女主播| 夜夜嗨av一区二区三区免费区| 国产精品v一区二区三区| 国产精品www网站| 亚洲精品之草原avav久久| 99亚洲精品| 在线免费日韩片| 久久精品一区二区三区四区 | 欧美成人午夜77777|