• <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 閱讀(655) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 動(dòng)態(tài)規(guī)劃
            国产69精品久久久久99尤物| 一本一本久久aa综合精品 | 狠狠久久综合| 四虎国产精品免费久久| 欧美日韩精品久久免费| 青草国产精品久久久久久 | 久久精品国产亚洲AV不卡| 中文字幕久久精品 | 久久婷婷五月综合色99啪ak| 久久96国产精品久久久| 久久国产综合精品五月天| 亚洲国产成人精品91久久久 | 久久精品九九亚洲精品天堂| 热久久国产欧美一区二区精品| 亚洲AV无码久久寂寞少妇| 国产精品99久久久精品无码 | 狠狠久久亚洲欧美专区| 久久人人超碰精品CAOPOREN| 亚洲精品NV久久久久久久久久| 久久人人爽人人爽人人片AV不| 久久久久亚洲av无码专区| 国产999精品久久久久久| 久久亚洲sm情趣捆绑调教| 亚洲综合久久综合激情久久| 亚洲国产精品久久久久| 精品熟女少妇AV免费久久| 国产精品免费久久久久久久久| 久久综合香蕉国产蜜臀AV| 久久久久人妻一区精品| 久久精品国产亚洲av水果派| 91久久福利国产成人精品| 久久亚洲AV成人无码国产| 久久笫一福利免费导航 | 久久精品成人免费网站| 久久久久亚洲AV无码观看| 久久精品夜色噜噜亚洲A∨ | 久久播电影网| 久久精品一区二区影院| 久久国产精品一区| 久久九九久精品国产| 国产精品激情综合久久|