• <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>

            C小加

            厚德 博學 求真 至善 The bright moon and breeze
            posts - 145, comments - 195, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            zoj 3578 NYOJ 472 Matrix (水題)

            Posted on 2012-03-19 13:36 C小加 閱讀(471) 評論(0)  編輯 收藏 引用 所屬分類: 解題報告

            一直認為是二維線段樹,看了解題報告后居然是水題。

             

            最多1000個矩形。每次掃描矩形與之前的矩形是否相交,在相交的矩形中找到一個最大的值max,讓這個max加上h就是這次矩形的值。每次向回掃描一遍,最高也就1000*1000的時間,1s內絕對沒問題。


            #include<iostream>
            #include<cstdio>
            using namespace std;

            typedef struct
            {
                int x1,y1,x2,y2,_max;
            }Matrix;
            Matrix matrix[1003];

            bool cover(int i,int j)//是否相交
            {
                if(matrix[i].x1>=matrix[j].x2||matrix[j].x1>=matrix[i].x2) return false;
                if(matrix[i].y1>=matrix[j].y2||matrix[j].y1>=matrix[i].y2) return false;
                return true;
            }

            int main()
            {
                int N,M,C;
                while(scanf("%d %d %d",&N,&M,&C)!=EOF)
                {
                    int ans=0;
                    int a,b,h,x,y;
                    for(int i=0;i<C;i++)
                    {
                        int tmax=0;
                        scanf("%d %d %d %d %d",&a,&b,&h,&x,&y);
                        matrix[i].x1=x;
                        matrix[i].y1=y;
                        matrix[i].x2=x+a;
                        matrix[i].y2=y+b;
                        for(int j=i-1;j>=0;j--)
                        {
                            if(cover(i,j))
                            {
                                tmax=max(tmax,matrix[j]._max);
                            }

                        }
                        matrix[i]._max=tmax+h;
                        ans=max(ans,matrix[i]._max);
                    }
                    printf("%d\n",ans);
                }
                return 0;
            }

            亚州日韩精品专区久久久| 久久综合九色综合97_久久久 | 亚洲av成人无码久久精品| 精品久久人人爽天天玩人人妻| 99久久香蕉国产线看观香| 中文国产成人精品久久不卡| 精品人妻久久久久久888| 很黄很污的网站久久mimi色| 香蕉久久久久久狠狠色| 97久久国产亚洲精品超碰热| 久久人搡人人玩人妻精品首页| 久久久久免费精品国产| 久久99国产精一区二区三区| 亚洲欧美国产日韩综合久久| 国产韩国精品一区二区三区久久| 久久精品国产99久久丝袜| 久久夜色精品国产噜噜亚洲AV| 国内精品久久久久久不卡影院| 久久无码人妻一区二区三区午夜| 久久人人爽人人精品视频| 亚洲嫩草影院久久精品| 久久精品人人做人人妻人人玩| 亚洲国产香蕉人人爽成AV片久久| 一本大道加勒比久久综合| 久久久一本精品99久久精品88| 久久青青草原精品国产不卡| 欧美久久精品一级c片片| 日韩久久久久久中文人妻 | 亚洲国产成人久久综合碰| 天天爽天天爽天天片a久久网| 浪潮AV色综合久久天堂| 亚洲AV成人无码久久精品老人| 久久夜色精品国产噜噜亚洲a| 久久亚洲视频| 热RE99久久精品国产66热| 精品多毛少妇人妻AV免费久久| 国产成人精品久久亚洲| 久久国产精品久久| 中文精品久久久久国产网址| 国产精品久久永久免费| 久久精品国产99国产精偷|