zoukankan      html  css  js  c++  java
  • poj2318 TOYS 点积叉积理解

    题意大概为有一个箱子被格成n+1部分,往箱子里随机放m个玩具,问各个部分最终各有几个玩具。

    #include<iostream>
    #include<cstdio>
    #include<string.h>
    using namespace std;
    const int maxn=1<<13;
    
    struct LINE
    {
        int x_1,y_1,x_2,y_2;
    }line[maxn];
    
    int point[maxn][2];
    
    bool judge(int x1,int y1,int x0,int y0,int x2,int y2)
    {
        int p=(x1-x0)*(y2-y0)-(x2-x0)*(y1-y0);
        if(p<0)
        return true;
        return false;
    }
    int main()
    {
        //freopen("test.txt","r",stdin);
        int n,m,x1,y1,x2,y2;
        while(scanf("%d%d%d%d%d%d",&n,&m,&x1,&y1,&x2,&y2),n)
        {
            int i,j;
            for(i=0;i<n;i++)
            {
                scanf("%d%d",&line[i].x_1,&line[i].x_2);
                line[i].y_1=y1,line[i].y_2=y2;
            }
            line[n].x_1=x2,line[n].y_1=y1;
            line[n].x_2=x2,line[n].y_2=y2;
            for(i=1;i<=m;i++)
            {
                scanf("%d%d",&point[i][0],&point[i][1]);
            }
            int ans[maxn];
            memset(ans,0,sizeof(ans));
            for(i=1;i<=m;i++)
            {
                for(j=0;j<=n;j++)
                {
                    if(judge(point[i][0],point[i][1],line[j].x_2,line[j].y_2,
                       line[j].x_1,line[j].y_1))
                    {
                        ans[j]++;
                        break;
                    }
                }
            }
            for(i=0;i<=n;i++)
            printf("%d: %d\n",i,ans[i]);
            printf("\n");
        }
        return 0;
    }
  • 相关阅读:
    界面实现的小总结
    创建线程的三种方式
    之前总结的今天给大分享一下iOS
    MVVM
    响应者链条
    layer图层常见属性
    NSRunLoop && NSTimer
    关于Angularjs做的一个购物车小例子
    css中实现元素的绝对居中
    剑指 Offer 18. 删除链表的节点 链表
  • 原文地址:https://www.cnblogs.com/longlongagocsu/p/2955553.html
Copyright © 2011-2022 走看看