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

            int ? const ?inf = ? 1 << 29 ;
            int ?n;
            struct ?Point {
            ????
            int ?Lx,?Ly,?Rx,?Ry;
            }
            ;

            Point?pnt[
            16 ];
            int ??need[ 16 ],?dp[ 1 << 15 ][ 15 ],?color[ 16 ];

            void ?init() {
            ????
            for (? int ?i = ? 0 ;?i <= ?n;? ++ i?)?need[i] = ? 0 ;
            ????
            ????
            for (? int ?i = ? 0 ;?i < ?n;? ++ i?) {
            ????????
            for ( int ?j = ? 0 ;?j < ?n;? ++ j?) {
            ????????????
            if (?i == ?j?)? continue ;

            ????????????
            if (?pnt[j].Ry <= ?pnt[i].Ly? && ?pnt[j].Lx < ?pnt[i].Rx?) {
            ????????????????need[i]
            |= ?( 1 << j);
            ????????????}

            ????????}

            ????}

            }


            void ?solve() {
            ????
            for (? int ?i = ? 0 ;?i < ?( 1 << n);? ++ i?)
            ????????
            for ( int ?j = ? 0 ;?j < ?n;? ++ j?)?dp[i][j] = ?inf;

            ????dp[
            0 ][ 0 ] = ? 0 ;
            ????
            for (? int ?i = ? 0 ;?i < ?n;? ++ i?)
            ????????
            if (?need[i] == ? 0 ?)?dp[ 1 << i][i] = ? 1 ;
            ????
            ????
            for (? int ?s = ? 0 ;?s < ?( 1 << n);? ++ s?) {
            ????????
            for (? int ?i = ? 0 ;?i < ?n;? ++ i?) {
            ????????????
            if (?(?s & ?( 1 << i)?) == ? 0 ?)? continue ;

            ????????????
            for (? int ?j = ? 0 ;?j < ?n;? ++ j?) {
            ????????????????
            if (?s & ?( 1 << j)?)? continue ;
            ????????????????
            if (?(s & ?need[j]) != ?need[j]?)? continue ;

            ????????????????
            if (?dp[s][i] + ?(?color[i] != ?color[j]?) < ?dp[s | ( 1 << j)][j]?) {
            ????????????????????dp[s
            | ( 1 << j)][j] = ?dp[s][i] + ?(?color[i] != ?color[j]?);
            ????????????????}

            ????????????}

            ????????}

            ????}


            ????
            int ?ans = ?inf;
            ????
            for (? int ?i = ? 0 ;?i < ?n;? ++ i?)
            ????????
            if (?dp[( 1 << n) - 1 ][i] < ?ans?)?ans = ?dp[( 1 << n) - 1 ][i];

            ????printf(
            " %d\n " ,?ans?);
            }


            int ?main() {
            ????
            int ?test;
            ????scanf(
            " %d " , & test?);

            ????
            while (?test -- ?) {
            ????????scanf(
            " %d " , & n?);

            ????????
            for (? int ?i = ? 0 ;?i < ?n;? ++ i?) {
            ????????????scanf(
            " %d%d%d%d " ,? & pnt[i].Ly,? & pnt[i].Lx,? & pnt[i].Ry,?? & pnt[i].Rx?);
            ????????????scanf(
            " %d " ,?color + ?i?);
            ????????}


            ????????init();
            ????????solve();
            ????}

            ????
            ????
            return ? 0 ;
            }

            posted on 2009-10-08 14:54 Darren 閱讀(646) 評論(0)  編輯 收藏 引用 所屬分類: 動(dòng)態(tài)規(guī)劃
            久久99精品国产麻豆蜜芽| 国产亚洲综合久久系列| 久久久久久午夜成人影院| 久久久久成人精品无码| 久久国产精品成人片免费| 怡红院日本一道日本久久 | 国产精品九九久久精品女同亚洲欧美日韩综合区| 伊人色综合久久天天| 伊人色综合久久| 一本一道久久精品综合| 99热热久久这里只有精品68| 日本免费久久久久久久网站| 久久97精品久久久久久久不卡| 久久香蕉国产线看观看精品yw| 久久人人爽人人爽人人AV东京热 | 亚洲国产精品一区二区三区久久| 99久久精品国产综合一区| 国产精品欧美亚洲韩国日本久久| 国产午夜精品久久久久九九电影| 久久精品国产72国产精福利| 亚洲欧美精品一区久久中文字幕| 最新久久免费视频| 人妻精品久久无码区| 精品久久人妻av中文字幕| 久久99国产精品99久久| 久久久久国产精品三级网| 尹人香蕉久久99天天拍| 久久er99热精品一区二区| 91精品无码久久久久久五月天| 欧美日韩精品久久久免费观看| 国产色综合久久无码有码| 精品久久777| 久久久这里有精品| 久久精品成人国产午夜| 亚洲国产一成久久精品国产成人综合| 亚洲中文久久精品无码| 国产激情久久久久影院老熟女免费| 人妻中文久久久久| 久久国产精品无码HDAV| 亚洲欧美另类日本久久国产真实乱对白| 久久精品99久久香蕉国产色戒|