• <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>
            #include? < stdio.h >
            #include?
            < limits.h >
            #include?
            < stdlib.h >
            #include?
            < math.h >
            #include?
            < string .h >

            #define ?N?110

            int ?graph[N][N];
            int ?rank[N];
            int ?value[N];
            int ?m,?n,?len;

            bool ??findrank(? int ?t?)
            {
            ????
            for (? int ?i = ? 0 ;?i < ?t;? ++ i?)
            ????
            if (?value[i] == ?t?)? return ? true ;
            ????
            ????
            return ? false ;
            }


            int ?dis(? int ?Rank?)
            {
            ????
            bool ?visite[N];
            ????
            int ??result[N];
            ????rank[
            0 ] = ?Rank;
            ????
            ????
            for (? int ?i = ? 1 ;?i <= ?n;? ++ i?)?
            ????
            {
            ????????
            int ?t = ?Rank - ?rank[i];
            ????????
            ????????
            if (?t <= ?m? && ?t >= ? 0 ?)? {?visite[i] = ? false ;??result[i] = ?graph[ 0 ][i];?}
            ????????
            else ????????????????? {?visite[i] = ? true ;???result[i] = ? - 1 ;?}
            ????}

            ????
            ????visite[
            0 ] = ? true ;
            ????
            for (? int ?t = ? 1 ;?t <= ?n;? ++ t?)
            ????
            {
            ????????
            int ??min = ?INT_MAX;
            ????????
            int ??k = ? - 1 ;
            ????????
            ????????
            for (? int ?i = ? 0 ;?i <= ?n;? ++ i?)
            ????????
            if (? ! visite[i]? && ?result[i] >= ? 0 ? && ?result[i] < ?min??)
            ????????
            {
            ????????????min
            = ?result[i];
            ????????????k
            = ?i;
            ????????}

            ????????
            if (?k == ? - 1 ?)? break ;
            ????????
            ????????visite[k]
            = ? true ;
            ????????
            for (? int ?i = ? 1 ;?i <= ?n;? ++ i?)
            ????????
            {
            ????????????
            if (? ! visite[i]? && ??graph[k][i] >= ? 0 ? && ?result[k] >= ? 0 ?
            ????????????????????????
            && ?(?result[k] + ?graph[k][i] < ?result[i]? || ?result[i] == ? - 1 ?)?)
            ????????????result[i]
            = ?result[k] + ?graph[k][i];
            ????????}
            ?
            ????}

            ?
            ????
            return ?result[ 1 ];
            }


            int ?main()
            {
            ????scanf(
            " %d%d " ,? & m,? & n);
            ????len
            = ? 0 ;
            ????
            ????memset(?graph,?
            - 1 ,? sizeof ( int ) * N * N?);
            ????
            ????
            for (? int ?i = ? 1 ;?i <= ?n;? ++ i?)
            ????
            {
            ????????
            int ?va,?ra,?nn;
            ????????
            ????????scanf(
            " %d%d%d " ,? & va,? & ra,? & nn?);
            ????????graph[
            0 ][i] = ?va;
            ????????rank[i]
            = ?ra;
            ????????
            ????????
            if (? ! findrank(?ra?)?)?value[len ++ ] = ?ra;
            ????????
            ????????
            for (? int ?j = ? 0 ;?j < ?nn;? ++ j?)
            ????????
            {
            ????????????
            int ?a,?b;
            ????????????scanf(
            " %d%d " ,? & a,? & b);
            ????????????
            ????????????graph[a][i]
            = ?b;
            ????????}

            ????}
            ????
            ????
            ????
            int ?min = ?INT_MAX;
            ????
            for (? int ?i = ? 0 ;?i < ?len;? ++ i?)
            ????????
            {????????
            ????????????
            int ?t = ?dis(?value[i]?);
            ????????????
            ????????????
            if (?t < ?min? && ?t != ? - 1 ?)?min = ?t;
            ????????}

            ????????
            ????printf(
            " %d\n " ,?min?);
            ????
            ????
            return ? 0 ;
            }

            posted on 2008-10-29 21:01 Darren 閱讀(340) 評論(0)  編輯 收藏 引用 所屬分類: 圖論
            久久国产精品99国产精| 欧美亚洲国产精品久久久久| 久久久久久精品无码人妻| 91精品国产91久久久久久蜜臀| 久久亚洲春色中文字幕久久久| 久久国产AVJUST麻豆| 四虎影视久久久免费| 久久影院久久香蕉国产线看观看| 国内精品久久久久久久久| 久久国产热这里只有精品| yellow中文字幕久久网| 国内精品伊人久久久久影院对白| 久久精品国产福利国产琪琪 | 伊人久久无码精品中文字幕| 日本精品久久久久久久久免费| 欧美精品福利视频一区二区三区久久久精品 | 麻豆AV一区二区三区久久| 国产精品无码久久久久久| 国产精品视频久久久| 亚洲国产成人久久综合碰碰动漫3d | 久久线看观看精品香蕉国产| 中文字幕久久欲求不满| 欧美激情精品久久久久久久| 久久狠狠爱亚洲综合影院| 久久精品一区二区| 久久大香萑太香蕉av| 狠狠色丁香久久婷婷综合五月| 久久综合九色综合欧美狠狠| 开心久久婷婷综合中文字幕| 无码日韩人妻精品久久蜜桃 | 日本精品久久久久久久久免费| 国产激情久久久久久熟女老人 | 亚洲精品美女久久777777| 久久99免费视频| 新狼窝色AV性久久久久久| 国内精品伊人久久久久影院对白 | 国产69精品久久久久久人妻精品| 国产精品无码久久久久久| 天天做夜夜做久久做狠狠| 久久精品无码专区免费东京热 | 亚洲国产日韩欧美综合久久|