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

            三级三级久久三级久久| AAA级久久久精品无码片| 久久婷婷人人澡人人| 无夜精品久久久久久| 色欲久久久天天天综合网| 久久ww精品w免费人成| 久久国产午夜精品一区二区三区| 久久久久久久国产免费看| 精品国产99久久久久久麻豆| 久久国产精品成人影院| 久久九九久精品国产免费直播| 久久久无码精品亚洲日韩蜜臀浪潮| 精品久久久噜噜噜久久久| 狠狠色丁香婷婷综合久久来来去| 久久伊人中文无码| 国产精品久久久久久久久免费 | 国产A级毛片久久久精品毛片| 狠狠88综合久久久久综合网| 色悠久久久久久久综合网| 久久精品亚洲一区二区三区浴池| 一级女性全黄久久生活片免费| 伊人久久大香线蕉av一区| 国内精品久久久久影院网站 | 久久精品桃花综合| 国产成人久久精品麻豆一区| 日韩精品久久久肉伦网站 | 欧美麻豆久久久久久中文| 久久成人精品视频| 久久久久亚洲AV无码永不| 国产成人无码精品久久久性色 | 久久精品国产免费观看| 人妻无码精品久久亚瑟影视| 成人精品一区二区久久| 996久久国产精品线观看| 国产精品对白刺激久久久| 久久综合88熟人妻| av无码久久久久不卡免费网站| 日韩精品久久久久久久电影蜜臀| 伊人久久无码中文字幕| 亚洲av伊人久久综合密臀性色| 亚洲欧美日韩久久精品第一区 |