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

USACO chapter 3 section 1 Shaping Regions

USER: tian tianbing [tbbd4261]
TASK: rect1
LANG: C++

Compiling...
Compile: OK

Executing...
   Test 1: TEST OK [0.000 secs, 3024 KB]
   Test 2: TEST OK [0.000 secs, 3024 KB]
   Test 3: TEST OK [0.011 secs, 3024 KB]
   Test 4: TEST OK [0.000 secs, 3024 KB]
   Test 5: TEST OK [0.000 secs, 3024 KB]
   Test 6: TEST OK [0.000 secs, 3024 KB]
   Test 7: TEST OK [0.022 secs, 3024 KB]
   Test 8: TEST OK [0.011 secs, 3024 KB]
   Test 9: TEST OK [0.022 secs, 3024 KB]
   Test 10: TEST OK [0.022 secs, 3024 KB]
   Test 11: TEST OK [0.022 secs, 3024 KB]

All tests OK.
Your program ('rect1') produced all correct answers!  This is your
submission #15 for this problem.  Congratulations!
 
     終于做出來(lái)了,用隊(duì)列實(shí)現(xiàn),沒(méi)接收一個(gè)就遍歷整個(gè)隊(duì)列。要注意的是要把隊(duì)列的大小用t記下,因?yàn)?/pre>
新加進(jìn)來(lái)的會(huì)改變隊(duì)列的大小。
    用的是矩形分割:
原來(lái)的程序在分割與a相交的矩形b的時(shí)候,把a(bǔ)與b相交的部分也作為一個(gè)小矩形放在了后面。
這也就會(huì)多出很多,統(tǒng)計(jì)了一下對(duì)于最后一組測(cè)試數(shù)據(jù)有40多萬(wàn)個(gè)矩形,超時(shí)。
其實(shí)應(yīng)該把a(bǔ)整個(gè)放進(jìn)去,不該把a(bǔ)也分割的。



 

/*
ID:tbbd4261
PROG:rect1
LANG:C++
*/

#include
<fstream>
#include
<queue>
#include
<string.h>
using namespace std;
ifstream fin(
"rect1.in");
ofstream fout(
"rect1.out");
struct type
{
       
int x1,y1,x2,y2,color;
};

int w,h,n,i,cnt;
int color[2505]={0};
queue
<type>Q;
inline 
int max(int a, int b){ return a>b?a:b; }
inline 
int min(int a, int b){ return a>b?b:a; } 
bool isIn(type &a, type &b)//判斷是否相交 
{
    
if(a.x1>=b.x2)return false;
    
if(a.x2<=b.x1)return false;
    
if(a.y1>=b.y2)return false;
    
if(a.y2<=b.y1)return false;
    
return true;
}

void add(int x1, int y1, int x2, int y2, int c)
{
      type t; t.x1
=x1; t.y1=y1; t.x2=x2; t.y2=y2; t.color=c; 
      color[c]
+=(x2-x1)*(y2-y1);
      Q.push(t);
}

 
void dec()
{
       type t
=Q.front(); Q.pop();
       color[t.color]
-=(t.x2-t.x1)*(t.y2-t.y1);
}

 
void deal(type &a, type &b) //a與b交,b的下標(biāo)是j                 
 {     
     
if(a.x1>b.x1&&a.x1<b.x2) add(b.x1, b.y1,a.x1,b.y2,b.color);//S1
     if(a.x2>b.x1&&a.x2<b.x2) add(a.x2,b.y1, b.x2, b.y2,b.color); //S3
     if(a.y1>b.y1&&a.y1<b.y2) add(max(a.x1,b.x1),b.y1,min(a.x2,b.x2),a.y1,b.color);//S2
     if(a.y2>b.y1&&a.y2<b.y2) add(max(a.x1,b.x1),a.y2,min(a.x2,b.x2),b.y2,b.color);//S4
     
//add(max(a.x1,b.x1),max(a.y1,b.y1),min(a.x2,b.x2),min(a.y2,b.y2),a.color);//a與b相交的部分 
     dec();
 }

int main()
{
    memset(color,
0,sizeof color);
    fin
>>w>>h>>n;
    color[
1]=w*h;
    type temp;  
    temp.x1
=0; temp.y1=0; temp.x2=w; temp.y2=h; temp.color=1;
    Q.push(temp);
    
for(i=1; i<=n; i++)
    {
             fin
>>temp.x1>>temp.y1>>temp.x2>>temp.y2>>temp.color;
             
for(int t=Q.size(),j=1;j<=t; j++ )
                     
if(isIn(temp,Q.front() ))
                          deal( temp,Q.front() );
                     
else { type t=Q.front(); Q.pop();Q.push(t); }//如果不相交,放在隊(duì)列后面
        add(temp.x1,temp.y1,temp.x2,temp.y2,temp.color);
    }
    
for(i=1; i<=2500; i++)
              
if(color[i]) fout<<i<<' '<<color[i]<<endl;  
              
    
return 0;
}

 

posted on 2010-08-04 16:51 田兵 閱讀(131) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): USACO

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導(dǎo)航

統(tǒng)計(jì)

常用鏈接

留言簿(2)

隨筆分類(lèi)(65)

隨筆檔案(65)

文章檔案(2)

ACM

搜索

積分與排名

最新隨筆

最新評(píng)論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久久国产91| 国产精品qvod| 91久久精品久久国产性色也91| 久久成人免费视频| 久久不射网站| 久久伊人一区二区| 欧美高清在线| 亚洲日本理论电影| 亚洲视频一区| 久久九九国产精品| 免费成人av资源网| 国产精品电影在线观看| 国产三级精品三级| 亚洲黄一区二区| 亚洲午夜一二三区视频| 久久精品中文字幕一区二区三区| 欧美sm极限捆绑bd| 在线视频亚洲欧美| 国产精品日本| 欧美一区二区私人影院日本| 另类激情亚洲| 国产精品草草| 在线观看不卡av| 亚洲影视在线播放| 欧美chengren| 亚洲欧美日韩另类精品一区二区三区| 久久精品午夜| 欧美视频一区二区在线观看| 国模吧视频一区| 亚洲一区二区三区高清不卡| 久久久久国产精品一区三寸| 欧美黄在线观看| 欧美亚洲在线观看| 欧美日韩亚洲天堂| 伊人狠狠色丁香综合尤物| 亚洲欧美在线高清| 欧美激情亚洲视频| 久久精品首页| 国产午夜一区二区三区| 亚洲午夜免费视频| 亚洲福利小视频| 久久蜜臀精品av| 国产在线观看一区| 欧美在线资源| 亚洲欧美美女| 国产精品视频精品视频| 亚洲一区二区欧美日韩| 亚洲免费观看高清完整版在线观看熊| 蜜臀av在线播放一区二区三区| 国产一区久久久| 久久久久成人精品| 亚洲欧美国产日韩天堂区| 欧美丝袜一区二区三区| 亚洲午夜在线| 99国产精品久久久久久久久久| 欧美国产高潮xxxx1819| 亚洲国产黄色| 欧美国产极速在线| 欧美成人免费播放| 亚洲每日更新| 亚洲精品在线观看免费| 欧美激情第10页| 夜夜嗨一区二区三区| 99精品99| 国产欧美日韩一区二区三区在线 | 亚洲精品国产精品国自产在线| 久久亚洲综合色一区二区三区| 欧美一区二区三区在线| 国产日产亚洲精品| 久久久久久高潮国产精品视| 亚洲制服少妇| 韩国三级电影久久久久久| 久久精品一区二区三区中文字幕| 亚洲欧美在线aaa| 国产日韩欧美一区二区三区四区| 欧美日韩国产精品自在自线| 99成人免费视频| 一本色道久久综合亚洲精品按摩 | 亚洲激情六月丁香| 欧美精品电影在线| 中文国产一区| 欧美一区二区高清在线观看| 娇妻被交换粗又大又硬视频欧美| 美女国产一区| 欧美电影在线| 欧美亚洲一区三区| 久久综合精品国产一区二区三区| 亚洲国产免费| 亚洲一区二区三区涩| 亚洲高清123| 亚洲性感美女99在线| 影音先锋在线一区| 亚洲精品人人| 黑人巨大精品欧美一区二区小视频 | 久久久999成人| 六月婷婷久久| 午夜久久久久久| 久久人人97超碰精品888| 亚洲视频自拍偷拍| 久久亚洲欧美国产精品乐播| 亚洲免费人成在线视频观看| 久久久九九九九| 亚洲欧美第一页| 久久综合色综合88| 亚洲欧美视频在线观看视频| 免费视频亚洲| 久久久精品久久久久| 欧美日韩综合视频| 欧美粗暴jizz性欧美20| 国产日韩av一区二区| 亚洲精品护士| 激情成人综合网| 亚洲欧美国产77777| 亚洲丝袜av一区| 久久这里只有| 久久久久久婷| 国产精品一区二区女厕厕| 亚洲第一视频| 激情欧美一区二区三区| 亚洲女性裸体视频| 亚洲天天影视| 欧美日本高清| 亚洲国产精品电影| 亚洲福利视频三区| 久久狠狠亚洲综合| 欧美一区二视频| 国产精品久久久久久久久借妻 | 午夜视频一区| 久久久蜜桃精品| 亚洲免费观看在线视频| 久久中文在线| 久久综合成人精品亚洲另类欧美| 欧美视频在线一区| 日韩一级不卡| 亚洲少妇最新在线视频| 欧美日本网站| 在线一区二区三区四区五区| 亚洲影院免费| 国产精品亚洲产品| 亚洲日本免费电影| 一区二区精品在线| 欧美日韩在线另类| 亚洲视频第一页| 久久疯狂做爰流白浆xx| 韩日欧美一区| 欧美成人精品一区二区三区| 亚洲精品免费电影| 亚洲自拍高清| 国产九九视频一区二区三区| 欧美一级专区| 你懂的国产精品永久在线| 亚洲国产99精品国自产| 欧美激情一区二区三区在线视频 | 欧美风情在线观看| 亚洲高清在线| 亚洲手机视频| 国产精品人人做人人爽| 久久国产精品第一页| 亚洲电影免费在线| 亚洲天天影视| 很黄很黄激情成人| 欧美日韩1234| 香蕉av福利精品导航| 男女激情视频一区| 中文欧美在线视频| 黑人极品videos精品欧美裸| 欧美另类99xxxxx| 亚洲欧美怡红院| 欧美国产日韩亚洲一区| 亚洲自拍偷拍视频| 在线观看日韩一区| 国产精品ⅴa在线观看h| 久久国产黑丝| 亚洲天堂免费观看| 欧美成人久久| 西瓜成人精品人成网站| 在线电影一区| 国产精品区二区三区日本| 美女啪啪无遮挡免费久久网站| 中文在线资源观看网站视频免费不卡| 久久精品日产第一区二区三区| 日韩视频在线永久播放| 国产视频一区在线| 欧美日韩国产精品一区| 久久久噜噜噜久久人人看| 中日韩男男gay无套| 亚洲国产视频a| 久久久国产视频91| 亚洲综合精品一区二区| 亚洲国产精品va在线看黑人动漫| 国产精品中文字幕欧美| 欧美日韩国产在线观看| 久久精品亚洲精品| 亚洲欧美在线视频观看| 日韩一级大片| 亚洲精品视频二区| 亚洲国产日韩欧美在线99| 国产精品久久久久久妇女6080 | 亚洲欧美日本国产有色| 亚洲人线精品午夜|