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

c++&oi

USACO5.3.2window

最方便的快捷的方法,當然是離散化。
C++里面有些東西還是不熟啊,比如那個switch
/*
USER: zyn19961
TASK: window
LANG: C++
*/
#include<iostream>
#include<fstream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
//
    using namespace std;
#define MM(a,i) memset(a,i,sizeof(a))
#define FOR(i,l,r) for (int i=(l);i<=(r);i++)
#define PFOR(p,a,next) for(int p=a;p;p=next[p])
//
    typedef long long int64;
    const int INF=~0U>>2;
//
    int maxp=0, minp=0;//maxp最后面的, minp最前面的
    class Window{
        public:
        int x1,y1,x2,y2,pos;
        void init(int a, int b, int c, int d){
            if(a>c)swap(a,c);if(b>d)swap(b,d);
            x1=a,y1=b,x2=c,y2=d,pos=minp--;}
        double area(){return (x2-x1)*(y2-y1);}
        };
    Window  window[256];
    bool map[300][300];
    int hx[50000],hy[50000];
    int fx[1000], fy[1000];
    double query(char ch){
        MM(hx,0),MM(hy,0),MM(fx,0),MM(fy,0);
        int fxn=0,fyn=0;
        //step 1, 找出在ch前面的窗口
        //step 2, 離散化
        FOR(i,0,255)
            if(window[i].pos!=-INF)// && i != ch){
                if(window[i].pos<=window[ch].pos)
                    hx[window[i].x1]=true,hx[window[i].x2]=true,
                    hy[window[i].y1]=true,hy[window[i].y2]=true;
        FOR(i,0,32767){
            if(hx[i])fx[fxn++]=i,hx[i]=fxn-1;//else hx[i]=-1;
            if(hy[i])fy[fyn++]=i,hy[i]=fyn-1;//else hy[i]=-1;
            }
        //step 3, fillflood
        MM(map,false);
        FOR(i,0,255)
            if(window[i].pos!=-INF&&i!=ch){
                if(window[i].pos<window[ch].pos){
                    int bx=hx[window[i].x1],
                        by=hy[window[i].y1];
                    for(int x=bx;fx[x]<window[i].x2; x++)
                        for(int y=by;fy[y]<window[i].y2;y++)
                            map[x][y]=true;
                }
            }
        //step 4, 計算面積百分比
        double area=window[ch].area();
        int bx=hx[window[ch].x1],
            by=hy[window[ch].y1];
        double white=0.0;
        for(int x=bx;fx[x]<window[ch].x2;x++)
            for(int y=by;fy[y]<window[ch].y2;y++){
                if(!map[x][y])
                    white+=(fx[x+1]-fx[x])*(fy[y+1]-fy[y]);
            }
        return white/area;
        }
    int main(){
        freopen("window.in","r",stdin);
        freopen("window.out","w",stdout);
        char op, ch;
        int x1,y1,x2,y2,cnt=0;
        while(scanf("%c",&op) != EOF){
            if (op!='s')
                scanf("(%c,%d,%d,%d,%d)\n",&ch,&x1,&y1,&x2,&y2);
            else
                scanf("(%c)\n",&ch);
            switch(op){
                case 'w': window[ch].init(x1,y1,x2,y2);break;
                case 't': window[ch].pos=minp--; break;
                case 'b': window[ch].pos=maxp++; break;
                case 'd': window[ch].pos=-INF;   break;
                case 's': printf("%.3f\n", query(ch)*100); break;
                default: break;
                }
            }
        return 0;
        }

posted on 2012-04-27 22:29 zyn.cpp 閱讀(321) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2012年3月>
26272829123
45678910
11121314151617
18192021222324
25262728293031
1234567

導航

統計

常用鏈接

留言簿

隨筆檔案(57)

文章檔案(13)

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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影院| 亚洲性感激情| 欧美国产91| 欧美第一黄网免费网站| 亚洲日本一区二区| 免费欧美在线视频| 欧美日本高清| 国产精品久久久久久久午夜片| 国产精品免费一区二区三区在线观看| 国产精品一区2区| 国产欧美一区二区三区国产幕精品| 国产精品亚洲综合色区韩国| 国产亚洲欧洲一区高清在线观看| 一区福利视频| 亚洲无线视频| 欧美中文日韩| 亚洲国产日韩综合一区| 91久久精品久久国产性色也91| 日韩午夜激情电影| 久久国产精品99精品国产| 麻豆精品精品国产自在97香蕉| 欧美日韩一区三区| 影音欧美亚洲| 午夜视频在线观看一区二区| 欧美粗暴jizz性欧美20| 中文一区字幕| 欧美高清在线视频观看不卡| 国产日韩在线不卡| 一区二区精品国产| 免费人成精品欧美精品| 亚洲一区二区三区中文字幕| 麻豆av一区二区三区久久| 欧美亚洲第一区| 亚洲人成亚洲人成在线观看图片| 久久国产精品久久久久久| 最新日韩在线| 欧美在线观看一区| 国产精品久线观看视频| 亚洲精品国偷自产在线99热| 久久久另类综合| 亚洲男同1069视频| 欧美性一二三区| 一区二区免费在线观看| 欧美成人免费观看| 欧美一区二区视频在线观看| 欧美天堂亚洲电影院在线观看| 亚洲激情国产精品| 久久精品一本| 欧美一区三区二区在线观看| 欧美午夜一区二区福利视频| 一本色道久久综合亚洲精品按摩| 免费观看一区| 久久久久久91香蕉国产| 国内伊人久久久久久网站视频| 亚洲婷婷综合久久一本伊一区| 免费人成网站在线观看欧美高清 | 亚洲深夜影院| 亚洲第一网站| 美女精品视频一区| 在线观看日韩国产| 国产精品自在在线| 欧美新色视频| 亚洲无毛电影| 一本到高清视频免费精品| 欧美日韩另类在线| 亚洲男人的天堂在线| 亚洲一级黄色片| 国产欧美在线看| 久久久www成人免费毛片麻豆 | 玖玖在线精品| 亚洲国产你懂的| 91久久嫩草影院一区二区| 欧美激情中文字幕乱码免费| 99在线观看免费视频精品观看| 亚洲日本中文| 国产精品视频导航| 久久久久久婷| 欧美精品福利| 欧美一区二区网站| 久久伊人亚洲| 亚洲性色视频| 欧美在线免费| 亚洲免费黄色| 亚洲午夜久久久久久久久电影院| 国产农村妇女精品| 欧美高潮视频| 国产精品蜜臀在线观看| 久久日韩精品| 欧美日韩国产综合一区二区| 欧美在线视频日韩| 免费毛片一区二区三区久久久| 这里只有精品视频| 久久久激情视频| 亚洲自拍偷拍视频| 另类春色校园亚洲| 欧美一区精品| 欧美日韩国产另类不卡| 久久久综合香蕉尹人综合网| 欧美日韩第一区日日骚| 久久久久久久久久久一区| 欧美精品国产一区二区| 久久久久久伊人| 欧美网站在线观看| 亚洲大黄网站| 国产亚洲午夜高清国产拍精品| 亚洲国产mv| 狠狠爱成人网| 亚洲综合成人在线| 一区二区欧美国产| 欧美77777| 老色鬼精品视频在线观看播放| 国产精品高潮呻吟久久av无限 | 欧美激情按摩在线| 国产欧美日韩一区二区三区| 亚洲品质自拍| 亚洲福利视频一区二区| 羞羞视频在线观看欧美| 亚洲特级片在线| 欧美激情按摩| 亚洲第一天堂av| 亚洲高清电影| 久久一综合视频| 一区二区三区免费在线观看| 欧美大成色www永久网站婷| 国产区日韩欧美| 亚洲一卡久久| 亚洲免费影视| 欧美体内she精视频| 亚洲国产美女精品久久久久∴| 激情久久久久久久久久久久久久久久 | 欧美日本在线看| 久久久噜噜噜久久狠狠50岁| 国产精品极品美女粉嫩高清在线 | 久久精品国产久精国产爱| 欧美日韩综合在线| 99热精品在线观看| 亚洲一区二区综合| 国产精品盗摄一区二区三区| 一本色道久久加勒比精品| 国产精品99久久久久久久女警| 欧美精品日韩一本| 日韩亚洲国产精品| 亚洲嫩草精品久久| 国产精品午夜在线| 午夜综合激情| 免费成人高清| 亚洲精选视频在线| 欧美日韩日本网| 亚洲一区在线观看免费观看电影高清 | 亚洲欧美一区二区三区在线| 欧美日韩成人综合| 亚洲经典视频在线观看| 一本到12不卡视频在线dvd| 欧美性开放视频| 亚洲欧美不卡| 久久综合久久综合久久综合| 亚洲国产电影| 欧美日韩国产另类不卡| 亚洲网友自拍| 久久久噜噜噜久噜久久| 亚洲国产清纯| 国产精品二区二区三区| 久久久精彩视频| 一区二区久久久久| 久久人人爽人人| 亚洲伦理一区| 国产日韩欧美精品| 欧美1区视频| 先锋亚洲精品| 亚洲精品美女免费| 欧美在线资源| 日韩视频一区二区在线观看| 国产精品自在线| 欧美成人精品高清在线播放| 亚洲主播在线播放| 亚洲国产精品小视频| 欧美一区二区在线看| 亚洲精品一区在线观看| 国产区在线观看成人精品| 欧美a级大片| 欧美一级黄色网| 亚洲免费福利视频| 欧美3dxxxxhd| 久热精品在线| 欧美一区二区三区喷汁尤物| 欧美高清免费| 久久精品国产亚洲一区二区| 亚洲三级电影全部在线观看高清| 国产九九精品| 欧美日韩色婷婷| 欧美ed2k| 久久中文字幕导航| 欧美一二区视频| 中文av一区特黄| 亚洲人成网在线播放| 久色成人在线| 久久免费视频这里只有精品| 亚洲欧洲av一区二区三区久久| 9久草视频在线视频精品| 亚洲国产欧美一区二区三区同亚洲|