• <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小加 閱讀(475) 評論(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;
            }

            国产L精品国产亚洲区久久| 久久久青草青青亚洲国产免观| 国产成人精品久久综合| 午夜精品久久久久久影视777| 伊人久久大香线焦AV综合影院| 久久人爽人人爽人人片AV| 精品亚洲综合久久中文字幕| 色悠久久久久久久综合网| 久久精品人妻中文系列| 99久久亚洲综合精品网站| 色综合久久88色综合天天 | 色综合久久久久无码专区| 91性高湖久久久久| 久久亚洲AV成人无码国产| 66精品综合久久久久久久| 久久综合久久美利坚合众国| 一本久久a久久精品综合夜夜| 中文字幕日本人妻久久久免费 | 久久国产免费观看精品| 久久这里的只有是精品23| 26uuu久久五月天| 国产精品一久久香蕉国产线看| 狠狠色丁香婷婷久久综合| 国产午夜精品久久久久九九电影| 久久午夜无码鲁丝片| 精品久久久无码21p发布| 亚洲欧洲精品成人久久奇米网| 99热精品久久只有精品| 四虎国产精品免费久久5151| av国内精品久久久久影院| 国产成人无码精品久久久性色 | 国产成年无码久久久久毛片| 久久久久久久精品妇女99| 午夜视频久久久久一区| 久久综合五月丁香久久激情| 久久无码一区二区三区少妇 | 久久综合给合综合久久| 国产精品久久久久久久午夜片| 国产国产成人久久精品| 国产呻吟久久久久久久92| 久久99精品久久久久久9蜜桃|