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

隨筆 - 87  文章 - 279  trackbacks - 0
<2007年2月>
28293031123
45678910
11121314151617
18192021222324
25262728123
45678910

潛心看書研究!

常用鏈接

留言簿(19)

隨筆分類(81)

文章分類(89)

相冊(cè)

ACM OJ

My friends

搜索

  •  

積分與排名

  • 積分 - 221655
  • 排名 - 118

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

Bugs Integrated, Inc.
Time Limit:15000MS  Memory Limit:30000K
Total Submit:1180 Accepted:309
Case Time Limit:5000MS

Description
Bugs Integrated, Inc. is a major manufacturer of advanced memory chips. They are launching production of a new six terabyte Q-RAM chip. Each chip consists of six unit squares arranged in a form of a 2*3 rectangle. The way Q-RAM chips are made is such that one takes a rectangular plate of silicon divided into N*M unit squares. Then all squares are tested carefully and the bad ones are marked with a black marker.


Finally, the plate of silicon is cut into memory chips. Each chip consists of 2*3 (or 3*2) unit squares. Of course, no chip can contain any bad (marked) squares. It might not be possible to cut the plate so that every good unit square is a part of some memory chip. The corporation wants to waste as little good squares as possible. Therefore they would like to know how to cut the plate to make the maximum number of chips possible.
Task
You are given the dimensions of several silicon plates and a list of all bad unit squares for each plate. Your task is to write a program that computes for each plate the maximum number of chips that can be cut out of the plate.

 

Input
The first line of the input file consists of a single integer D (1 <= D <= 5), denoting the number of silicon plates. D blocks follow, each describing one silicon plate. The first line of each block contains three integers N (1 <= N <= 150), M (1 <= M <= 10), K (0 <= K <= MN) separated by single spaces. N is the length of the plate, M is its height and K is the number of bad squares in the plate. The following K lines contain a list of bad squares. Each line consists of two integers x and y (1 <= x <= N, 1 <= y <= M) ?coordinates of one bad square (the upper left square has coordinates [1, 1], the bottom right is [N,M]).

Output
For each plate in the input file output a single line containing the maximum number of memory chips that can be cut out of the plate.

Sample Input

2
6 6 5
1 4
4 6
2 2
3 6
6 4
6 5 4
3 3
6 1
6 2
6 4

 

Sample Output

3
4

 

Source
CEOI 2002

CODE:

#include <iostream>
using namespace std;

int g[150][10], blk[10];
int d[4][60000];
int e[11= {1392781243729218765611968359049};
int n, m, kn;
int can1, can2, b[10][60000];
int *l0, *l1, *l2, *l3, *bit0, *bit1, *bit2;

void build() {
    
int i, j, tmp;
    
for (i=0; i<e[10]; i++{
        j 
= 0; tmp = i;
        
while (tmp > 0{
            b[j][i] 
= tmp % 3;
            tmp 
/= 3;
            j
++;
        }

    }

}
 

inline 
int maxt(int a, int b) {
    
return a > b ? a : b;
}


void solve() {
    
int i, j, k, x, y, a1, a2, p, c;
    scanf(
"%d%d%d"&n, &m, &kn);
    memset(g, 
0sizeof(g));
    memset(d, 
0sizeof(d));
    
for (i=0; i<kn; i++{
        scanf(
"%d%d"&x, &y);
        g[x
-1][y-1= 1;
    }

    
for (i=0; i<m; i++) blk[i] = 1 - g[0][i];
    
for (i=1, c=2; i<n; i++{
        
for (j=0; j<m; j++{
            
if (g[i][j]) blk[j] = 0;
            
else blk[j]++;
            c 
= (c+1)%4;
            can1 
= (j>0 && blk[j]>2 && blk[j-1]>2);
            can2 
= (j>1 && blk[j]>1 && blk[j-1]>1 && blk[j-2]>1);
            a1 
= 2*e[j]+2*e[j-1];
            a2 
= e[j]+e[j-1]+e[j-2];
            l0 
= d[c]; l1 = d[(c+3)%4]; l2 = d[(c+2)%4]; l3 = d[(c+1)%4];
            bit0 
= b[j]; 
            
if (j>0) bit1 = b[j-1]; 
            
if (j>1) bit2 = b[j-2];
            
for (p=0; p<e[m]; p++{
                
if (bit0[p]) {
                    l0[p] 
= l1[p-e[j]];
                }
 else {
                    l0[p] 
= l1[p];
                    
if (j>0 && !bit1[p]) {
                        
if (can1) l0[p] = maxt(l0[p],l2[p+a1]+1);
                        
if (can2 && !bit2[p]) l0[p] = maxt(l0[p], l3[p+a2]+1);
                    }

                }

            }

        }

    }

    printf(
"%d\n", d[c][0]);
}


int main() {
    build();
    
int caseTime;
    scanf(
"%d"&caseTime);
    
while (caseTime--{
        solve();
    }

    
return 0;
}


 
posted on 2007-04-18 11:42 閱讀(1800) 評(píng)論(0)  編輯 收藏 引用 所屬分類: ACM題目
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲午夜在线| 午夜电影亚洲| 亚洲黄色免费| 欧美成人一区二区| 一本久久青青| 制服诱惑一区二区| 国产婷婷色一区二区三区| 久久av一区| 久久一区免费| 一区二区三区久久网| 亚洲婷婷综合色高清在线| 国产欧美精品日韩| 免费观看成人| 欧美日韩免费观看一区=区三区| 亚洲天堂成人在线视频| 亚洲影院在线观看| 激情文学一区| 亚洲人成人一区二区在线观看| 欧美午夜剧场| 久久亚洲精选| 欧美日韩国产一区二区| 久久精品国产亚洲一区二区三区| 久久久亚洲午夜电影| 亚洲视频高清| 久久久亚洲国产美女国产盗摄| 亚洲精品乱码久久久久久日本蜜臀 | 久久久久久九九九九| 亚洲国产精品黑人久久久| 日韩视频中文| 激情欧美一区| 亚洲天堂网在线观看| 亚洲国产一成人久久精品| 一区二区久久| 亚洲欧洲在线视频| 翔田千里一区二区| 一区二区av在线| 久久精品在线| 欧美一级网站| 欧美日本三区| 模特精品在线| 国产日韩精品在线观看| 91久久久在线| 在线观看欧美成人| 午夜老司机精品| 亚洲午夜激情免费视频| 免费成人av在线| 久久久国产精品一区二区中文| 欧美日韩黄色大片| 亚洲第一区在线观看| 今天的高清视频免费播放成人| 亚洲一区二区免费在线| 一卡二卡3卡四卡高清精品视频| 久久久久一区二区三区| 欧美亚洲三级| 国产精品日韩精品欧美精品| 亚洲人成网站在线观看播放| 雨宫琴音一区二区在线| 欧美一区三区三区高中清蜜桃| 亚洲永久免费精品| 欧美日韩的一区二区| 亚洲国产精品第一区二区| 极品尤物av久久免费看| 久久精品三级| 鲁大师影院一区二区三区| 国自产拍偷拍福利精品免费一| 亚洲在线观看免费| 性做久久久久久免费观看欧美| 欧美色视频在线| 在线视频精品一| 亚洲综合电影| 国产精品一二三四| 午夜亚洲性色福利视频| 欧美专区18| 国语自产精品视频在线看| 久久av最新网址| 欧美成人免费网| 亚洲全部视频| 欧美日韩国产色综合一二三四 | 日韩午夜激情| 亚洲欧美精品一区| 国产精品午夜视频| 欧美一区二区三区免费观看| 久久久久久久久久久一区| 好吊色欧美一区二区三区视频| 久久精品成人| 亚洲国产精品一区制服丝袜| 99精品黄色片免费大全| 欧美性色视频在线| 午夜日韩av| 欧美成人自拍| 亚洲伊人久久综合| 黑人巨大精品欧美一区二区小视频| 久久精品国产亚洲一区二区三区| 美国十次了思思久久精品导航| 亚洲黄色小视频| 国产精品国产三级国产| 欧美在线不卡视频| 亚洲激情av在线| 先锋a资源在线看亚洲| 影音先锋亚洲精品| 欧美日韩精品久久| 欧美在线观看视频一区二区三区| 欧美暴力喷水在线| 亚洲一品av免费观看| 国产一区二区| 欧美日本一区二区三区| 午夜影院日韩| 亚洲激情视频| 久久久久久久精| 一本大道久久a久久精品综合 | 欧美精品性视频| 午夜一区在线| 亚洲人成啪啪网站| 久久欧美肥婆一二区| 一区二区电影免费观看| 国产在线播精品第三| 欧美日韩免费视频| 久久视频一区| 亚洲中字黄色| 亚洲精品婷婷| 男人的天堂亚洲| 久久国产精品99精品国产| 一区二区三区av| 亚洲欧洲精品一区| 红桃视频一区| 国产欧美三级| 国产精品久在线观看| 欧美精品乱码久久久久久按摩| 欧美一级专区免费大片| 在线亚洲欧美视频| 亚洲精品久久| 亚洲激情成人网| 欧美1区2区3区| 久久久久欧美| 久久九九国产| 久久精彩免费视频| 欧美一区二区三区精品| 亚洲欧美日韩第一区| 日韩视频中文字幕| 亚洲每日更新| 日韩亚洲在线观看| 日韩视频不卡| 日韩视频―中文字幕| 亚洲精品在线三区| 亚洲精选在线| 99在线|亚洲一区二区| 亚洲美女黄网| 亚洲狼人综合| 国产精品99久久不卡二区| 妖精视频成人观看www| av成人老司机| 亚洲少妇在线| 亚洲午夜性刺激影院| 亚洲无限乱码一二三四麻| 在线亚洲+欧美+日本专区| 一本不卡影院| 亚洲一区在线播放| 午夜久久久久久| 欧美在线视频观看免费网站| 欧美在线看片a免费观看| 欧美自拍偷拍| 毛片一区二区| 亚洲国产日韩在线| 99在线视频精品| 亚洲一区欧美二区| 欧美在线视频网站| 美女国产一区| 欧美日韩精品欧美日韩精品一| 欧美日韩精品一区二区三区四区| 欧美性一区二区| 国产一区亚洲一区| 亚洲精品乱码久久久久久按摩观 | 亚洲免费电影在线| 亚洲一区综合| 久久漫画官网| 亚洲人被黑人高潮完整版| 在线一区免费观看| 久久久久国产精品www| 欧美福利视频在线观看| 国产精品v日韩精品v欧美精品网站 | 一本色道久久综合一区| 午夜精品影院| 欧美激情综合五月色丁香| 国产精品一级久久久| 亚洲激情二区| 欧美一区二区高清在线观看| 欧美99久久| 亚洲永久免费av| 欧美激情视频网站| 国产一区二区久久精品| 日韩一本二本av| 久久综合色影院| 亚洲免费视频网站| 欧美激情亚洲国产| 狠狠色综合网| 亚洲欧洲av一区二区| 亚洲国产精品久久精品怡红院| 午夜视频一区| 欧美日韩一区二区国产| 亚洲国产成人精品女人久久久|