zoukankan      html  css  js  c++  java
  • POJ 2398 Toy Storage

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    
    const int maxn=5000+10;
    int n,m,X1,Y1,X2,Y2;
    int U[maxn],L[maxn];
    int ans[maxn];
    int Ans[maxn];
    bool flag[maxn];
    struct Point
    {
        int x,y;
    } p[maxn];
    
    char s[10000];
    
    void init()
    {
        memset(flag,0,sizeof flag);
        memset(ans,0,sizeof ans);
        memset(Ans,0,sizeof Ans);
    }
    
    int F(int a1,int b1,int a2,int b2)
    {
        //返回向量(a1,b1)与向量(a2,b2)的叉积
        return a1*b2 - a2*b1;
    }
    
    bool judge(int a1,int b1,int a2,int b2,int a3,int b3,int a4,int b4,int A,int B)
    {
        if(F(a2-a1,b2-b1,A-a1,B-b1)>0) return 0;
        if(F(a3-a2,b3-b2,A-a2,B-b2)>0) return 0;
        if(F(a4-a3,b4-b3,A-a3,B-b3)>0) return 0;
        if(F(a1-a4,b1-b4,A-a4,B-b4)>0) return 0;
        return 1;
    }
    
    int main()
    {
        while(~scanf("%d",&n))
        {
            if(!n) break;
            scanf("%d%d%d%d%d",&m,&X1,&Y1,&X2,&Y2);
            init();
            for(int i=1; i<=n; i++) scanf("%d%d",&U[i],&L[i]);
            U[0]=X1;
            L[0]=X1;
            U[n+1]=X2;
            L[n+1]=X2;
            sort(U,U+n+2);
            sort(L,L+n+2);
            for(int i=1; i<=m; i++) scanf("%d%d",&p[i].x,&p[i].y);
            for(int i=0; i<=n; i++)
            {
                for(int j=1; j<=m; j++)
                {
                    if(flag[j]!=0) continue;
                    if(judge(U[i],Y1,U[i+1],Y1,L[i+1],Y2,L[i],Y2,p[j].x,p[j].y))
                        flag[j]=1,ans[i]++;
                }
            }
    
            for(int i=0;i<=n;i++) Ans[ans[i]]++;
            printf("Box
    ");
            for(int i=1;i<=n;i++)
                if(Ans[i]) printf("%d: %d
    ",i,Ans[i]);
    
        }
        return 0;
    }
  • 相关阅读:
    asp.net获取站点根目录下子目录的名称
    asp.net在网站根目录下创建文件夹
    HoverTree.Model.ArticleSelect类的作用
    HoverTree系统源码介绍
    ASP.NET中Request.RawUrl、Request.Url的区别
    汇编语言-环境搭建
    IDEA快速返回上次代码的位置
    一级建造师
    4000块DIY组装电脑
    职称申报
  • 原文地址:https://www.cnblogs.com/zufezzt/p/4925934.html
Copyright © 2011-2022 走看看