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

voip
風的方向
厚德致遠,博學敦行!
posts - 52,comments - 21,trackbacks - 0
        最近我在掙扎,都工作的人了還念念不忘ACM,是不是太閑了!!!我發現我喜歡數學,我喜歡做邏輯一點的事情,不會很復雜,一切符合邏輯了才好處理。。。
      不扯淡了!看下題目吧!
      

Description

A triangle field is numbered with successive integers in the way shown on the picture below.



The traveller needs to go from the cell with number M to the cell with number N. The traveller is able to enter the cell through cell edges only, he can not travel from cell to cell through vertices. The number of edges the traveller passes makes the length of the traveller's route.



Write the program to determine the length of the shortest route connecting cells with numbers N and M.

 

Input

Input contains two integer numbers M and N in the range from 1 to 1000000000 separated with space(s).

Output

Output should contain the length of the shortest route.

Sample Input

6 12 

 

Sample Output

3

 

Source

Ural Collegiate Programming Contest 1998


      這是我大學里真正老師教的第一個題目,在我映像里老師很犀利,幾句話就把題目意思和解題思路講清楚了,老師追求的是效率,現在想起來是這樣的!但是我當時并沒有怎么聽懂,回去也沒好好研究過,直到后來老師給答案了才粗粗的看了一下,知道了解題思路,但是自己又沒去寫過,再后來有一天我發現了這個題目把它干掉了。。。

      題目大意:從右側三角中任去兩個數,求他們之間的最短路勁。例如取出3和7他們之間的最短路勁為3,6到12他們之間的最短路勁為3。。

      解題思路:
                           1、很明顯我們可以求出給出的兩個數的行號和列號;
                           2、思考怎么走才算是最短,在一個三角形中頂點上的數走到下邊行中的奇數列的最短路徑是相等的,例如:1走到2,4;1走到5,7,9;1走到11,13,15;偶數列也同樣!根據這一點我們可以用較小的數構造一個最小上三角,然后一層層往下映射,求出最短路勁,直到到達較大數所在行!如果該數在映射三角中,直接輸出,否者,從映射三角的最右端或者最左端往右走或者往左走!
      寫代碼的時候需要注意的幾點:
                           1、M,N的數據比較大,在計算的時候可能會超出int范圍,最好用__int64;
                           2、構造三角的時候,如果較小數在奇數列,可以直接向下映射,如果是偶數的話,可以向上翻,最后結果減1就行;
                           3、事實上我們可以根據已知行號和列號,直接求得在大數行上的映射三角的最短路勁;
       代碼如下(老師給的):

#include<stdio.h>
#include
<math.h>
__int64 leve(__int64 x)   
{
    
double y;
    __int64 k;
    
if(x==1)
        
return 1;
    
else
    
{
        y
=sqrt(x);
        k
=sqrt(x);
        
if(y==k)
            
return k;
        
else
            
return k+1;
    }

}

int main()
{
    __int64 n,m,temp,ln,lm,pm,pn,tm,mr,ml,tlm,len;
    
while(scanf("%I64d %I64d",&m,&n)!=EOF)
    
{
        
if(m>n)
        
{
            temp
=n;
            n
=m;
            m
=temp;
        }

        
//求的行號和列號
        lm=leve(m);
        ln
=leve(n);
        pm
=m-(lm-1)*(lm-1);
        pn
=n-(ln-1)*(ln-1);
            
        
if(lm==ln) //同行,直接輸出
            printf("%I64d\n",pn-pm);
        
else
        
{
            tm
=(pm%2)?m:(m-2*(lm-1));  //求的三角形頂點數,偶數的往上翻一下
            tlm=leve(tm);            
            ml
=tm+(ln+tlm-2)*(ln-tlm); //求得映射三角在較大數所在行的最左側數
            mr=tm+(ln+tlm)*(ln-tlm);   //求得映射三角在較大數所在行的最右側數
            if(ml<=n&&n<=mr)           //若較大數在區間內,則求的結果
                len=(pn%2)?(2*(ln-tlm)):(2*(ln-tlm)-1);
            
else                        //否則再向左走或者向右走
            {
                len
=2*(ln-tlm);
                
if(n<ml)
                    len
+=(ml-n);
                
if(n>mr)
                    len
+=(n-mr);
            }

            
if(pm%2==0)                  //偶數減回去!!!
                len--;
            printf(
"%I64d\n",len);
        }

    }

    
return 0;
}



      

posted on 2010-08-29 17:03 jince 閱讀(834) 評論(0)  編輯 收藏 引用 所屬分類: Questions
哈哈哈哈哈哈
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美日韩国产精品自在自线| 亚洲主播在线观看| 亚洲欧美电影在线观看| 日韩视频在线免费| 久久精品一区中文字幕| 午夜激情综合网| 欧美精品乱码久久久久久按摩| 久久久久9999亚洲精品| 国产精品欧美在线| 亚洲精品在线观看免费| 亚洲国产综合在线看不卡| 欧美中日韩免费视频| 欧美在线播放| 国产精品亚洲аv天堂网 | 欧美中在线观看| 欧美日韩中文精品| 亚洲人成人一区二区在线观看| 激情综合色综合久久| 欧美在线电影| 久久久精品国产免大香伊| 国产日韩在线播放| 午夜在线视频观看日韩17c| 欧美一区久久| 国产一区二区三区黄视频| 性刺激综合网| 麻豆精品一区二区av白丝在线| 国产自产精品| 久久久精品国产99久久精品芒果| 久久人人爽人人| 一区二区在线观看av| 久久久久久久性| 欧美黄色免费| av成人免费| 欧美体内谢she精2性欧美| 亚洲午夜精品久久| 久久国产精品99国产精| 国语自产在线不卡| 欧美/亚洲一区| 亚洲美女诱惑| 欧美亚洲一区二区在线| 国产亚洲一区二区在线观看| 久久久国产91| 亚洲肉体裸体xxxx137| 亚洲欧美日韩另类| 国产一区二区日韩| 欧美国产三区| 亚洲视频视频在线| 久久综合狠狠综合久久激情| 亚洲激情第一区| 欧美日韩免费在线观看| 先锋亚洲精品| 欧美黄色精品| 午夜精彩国产免费不卡不顿大片| 国产一区二区三区在线观看免费视频 | 性色av香蕉一区二区| 国产视频一区在线观看| 玖玖综合伊人| 亚洲影音先锋| 亚洲二区三区四区| 午夜精品久久久久| 亚洲欧洲美洲综合色网| 国产老肥熟一区二区三区| 美女脱光内衣内裤视频久久影院| 亚洲卡通欧美制服中文| 久久免费国产精品| 亚洲一区二区欧美日韩| 在线成人小视频| 国产精品久久久久99| 鲁大师成人一区二区三区| 中文亚洲欧美| 亚洲福利视频二区| 久久久九九九九| 亚洲女同在线| 日韩视频永久免费| 激情综合视频| 国产美女精品视频免费观看| 欧美成人免费播放| 久久经典综合| 亚洲欧美日韩综合国产aⅴ| 亚洲欧洲在线视频| 欧美成人蜜桃| 久久久久久一区| 亚洲欧美中文在线视频| 日韩天堂av| 亚洲国产精品成人综合| 国产一区二区成人久久免费影院| 欧美日韩福利| 欧美—级高清免费播放| 久久免费观看视频| 久久国产精品99国产| 亚洲视频成人| 一区二区av在线| 日韩一级精品| 亚洲精品美女久久7777777| 欧美成人免费观看| 免费日韩av电影| 麻豆久久婷婷| 久久综合五月| 欧美jizzhd精品欧美巨大免费| 欧美在线播放| 久久精品在线免费观看| 欧美中文字幕在线| 欧美一区二区三区精品| 亚洲欧美日韩一区二区三区在线观看| 99热在线精品观看| 一本综合久久| 亚洲性av在线| 亚洲欧美激情四射在线日 | 亚洲乱码国产乱码精品精可以看| 亚洲福利一区| 亚洲激情啪啪| 一区二区三区四区国产精品| 亚洲精品日本| 一区二区国产精品| 亚洲午夜激情| 欧美一区二区三区的| 欧美在线观看视频| 久久亚洲精品一区二区| 麻豆精品网站| 91久久在线播放| 亚洲美女精品一区| 亚洲一区二区成人在线观看| 亚洲一区二区三区四区中文 | 欧美一区二区大片| 久久久亚洲国产美女国产盗摄| 久久青青草原一区二区| 欧美国产日韩一区| 国产精品红桃| 国产一区二区在线免费观看| 尤物yw午夜国产精品视频| 亚洲精品视频免费观看| 亚洲一级二级在线| 久久精品国产77777蜜臀| 欧美成人精品一区| 亚洲美女免费精品视频在线观看| 这里只有精品视频在线| 久久精品国产999大香线蕉| 欧美成人免费在线视频| 国产精品久久久久久久久久尿| 国产亚洲a∨片在线观看| 在线日韩中文| 亚洲欧美日韩精品综合在线观看| 久久久久久久久一区二区| 亚洲国产99精品国自产| 亚洲网址在线| 欧美激情一区二区三区| 国产欧美日韩综合一区在线播放| 在线观看欧美激情| 先锋影音一区二区三区| 亚洲激精日韩激精欧美精品| 亚洲一区视频| 欧美日韩mp4| 精品1区2区| 午夜精品久久久久久久99樱桃| 老**午夜毛片一区二区三区| 妖精成人www高清在线观看| 欧美在线关看| 国产精品久久7| 亚洲精品欧美激情| 久久久综合激的五月天| 亚洲视频在线一区| 欧美大片在线观看| 狠狠色香婷婷久久亚洲精品| 亚洲一区欧美激情| 亚洲欧洲日本在线| 久久全国免费视频| 国产一区二区日韩| 午夜视频在线观看一区二区三区| 欧美大秀在线观看| 久久久久9999亚洲精品| 国产精品久久一区二区三区| 亚洲精品中文字幕女同| 裸体素人女欧美日韩| 欧美一区二区三区在线观看| 国产精品sm| 亚洲欧美bt| 亚洲每日更新| 欧美黄免费看| 亚洲乱亚洲高清| 亚洲高清123| 欧美高清视频在线| 亚洲精品久久久久中文字幕欢迎你| 久久久久久色| 性伦欧美刺激片在线观看| 国产精品入口尤物| 午夜精品在线| 亚洲一区二区三| 国产精品毛片大码女人| 亚洲制服av| 亚洲天堂成人| 国产精品一二三视频| 香蕉成人久久| 欧美一区二区在线看| 国产在线一区二区三区四区 | 久热精品在线| 亚洲国内自拍| 亚洲人成毛片在线播放女女| 欧美巨乳在线观看| 一区二区黄色| 亚洲一区二区三区四区中文|