Toy Storage--POJ2398(计算几何)
http://poj.org/problem?id=2398
这道题和上一道TOYS是一样的 就是输出不一样 还有就是这个给的是乱序 你要先对挡板排序
- #include <iostream>
- #include <cstring>
- #include <algorithm>
- #include <queue>
- #include <cstdio>
- #include <cstdlib>
- #include <cctype>
- #include <math.h>
- #include <ctype.h>
- using namespace std;
- #define memset(a,b) memset(a,b,sizeof(a))
- #define N 5500
- typedef long long ll;
- struct node
- {
- int x, y, v;
- }p[N],u[N];
- int y2;
- int cmp(const void *a,const void *b)
- {
- struct node *c, *f;
- c=(struct node *)a;
- f=(struct node *)b;
- return c->x-f->x;
- }
- int Find(int nx,int ny,int l,int r)
- {
- if(l==r-)
- return l;
- int mid=(l+r)/;
- node d;
- d.x=nx-p[mid].v;
- d.y=ny-y2;
- if((d.x*p[mid].y)-(d.y*p[mid].x)>)
- {
- l=mid;
- r=r;
- return Find(nx,ny,l,r);
- }
- else if((d.x*p[mid].y)-(d.y*p[mid].x)<)
- {
- l=l;
- r=mid;
- return Find(nx,ny,l,r);
- }
- return ;
- }
- int main()
- {
- int n,m,x1,x2,y1,a[N];
- while(scanf("%d",&n),n)
- {
- memset(a,);
- scanf("%d %d %d %d %d",&m,&x1,&y1,&x2,&y2);
- p[].x=x1;
- p[].y=y2;
- p[].v=x1;
- for(int i=;i<=n;i++)
- {
- scanf("%d %d",&u[i].x,&u[i].y);
- }
- qsort(u+,n,sizeof(u[]),cmp);
- for(int i=;i<=n;i++)
- {
- p[i].x=u[i].x-u[i].y;
- p[i].y=y1-y2;
- p[i].v=u[i].y;
- }
- p[n+].x=x2;
- p[n+].y=y1;
- p[n+].v=x2;
- int k,v;
- for(int i=;i<m;i++)
- {
- scanf("%d %d",&k,&v);
- int aa=Find(k,v,,n+);
- a[aa]++;
- }
- int ans[N];
- memset(ans,);
- for(int i=;i<=n;i++)
- {
- if(a[i])
- {
- ans[a[i]]++;
- }
- }
- printf("Box\n");
- for(int i=;i<=n;i++)
- {
- if(ans[i])
- printf("%d: %d\n",i,ans[i]);
- }
- }
- return ;
- }
Toy Storage--POJ2398(计算几何)的更多相关文章
- POJ 2398 Toy Storage(计算几何,叉积判断点和线段的关系)
Toy Storage Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3146 Accepted: 1798 Descr ...
- [POJ2398]Toy Storage(计算几何,二分,判断点在线段的哪一侧)
题目链接:http://poj.org/problem?id=2398 思路RT,和POJ2318一样,就是需要排序,输出也不一样.手工画一下就明白了.注意叉乘的时候a×b是判断a在b的顺时针还是逆时 ...
- poj2398 Toy Storage 计算几何,叉积,二分
poj2398 Toy Storage 链接 poj 题目大意 这道题的大概意思是先输入6个数字:n,m,x1,y1,x2,y2.n代表卡片的数量,卡片竖直(或倾斜)放置在盒内,可把盒子分为n+1块区 ...
- 2018.07.04 POJ 2398 Toy Storage(二分+简单计算几何)
Toy Storage Time Limit: 1000MS Memory Limit: 65536K Description Mom and dad have a problem: their ch ...
- poj 2398 Toy Storage(计算几何)
题目传送门:poj 2398 Toy Storage 题目大意:一个长方形的箱子,里面有一些隔板,每一个隔板都可以纵切这个箱子.隔板将这个箱子分成了一些隔间.向其中扔一些玩具,每个玩具有一个坐标,求有 ...
- poj 2398 Toy Storage(计算几何 点线关系)
Toy Storage Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4588 Accepted: 2718 Descr ...
- POJ 2398 - Toy Storage 点与直线位置关系
Toy Storage Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5439 Accepted: 3234 Descr ...
- POJ 2318 TOYS && POJ 2398 Toy Storage(几何)
2318 TOYS 2398 Toy Storage 题意 : 给你n块板的坐标,m个玩具的具体坐标,2318中板是有序的,而2398无序需要自己排序,2318要求输出的是每个区间内的玩具数,而231 ...
- Toy Storage
Toy Storage 题型与2318 TOYS一样,注意要对线段排序,现在模板又更新了~~ #include<iostream> #include<cstdio> #incl ...
- POJ 2398 Toy Storage (叉积判断点和线段的关系)
题目链接 Toy Storage Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4104 Accepted: 2433 ...
随机推荐
- IOS动画之抖动
-(void)shakeView:(UIView*)viewToShake { CGFloat t =2.0; CGAffineTransform translateRight =CGAffineT ...
- [Java 8] (8) Lambda表达式对递归的优化(上) - 使用尾递归 .
递归优化 很多算法都依赖于递归,典型的比如分治法(Divide-and-Conquer).但是普通的递归算法在处理规模较大的问题时,常常会出现StackOverflowError.处理这个问题,我们可 ...
- COGS 2274. [HEOI 2016] tree
★☆ 输入文件:heoi2016_tree.in 输出文件:heoi2016_tree.out 简单对比时间限制:1 s 内存限制:128 MB 这道题数据弱到炸了 . 第一次做用树刨 ...
- Hadoop分布式集群安装
环境准备 操作系统使用ubuntu-16.04.2 64位 JDK使用jdk1.8 Hadoop使用Hadoop 2.8版本 镜像下载 操作系统 操作系统使用ubun ...
- SSAS 系列01- DAX公式常用公式
计算第一次购买时间 CALCULATE(FIRSTDATE(FactInternetSales[OrderDate]),ALLEXCEPT(FactInternetSales,FactInternet ...
- [Python學習筆記] 抓出msg信件檔裡的附件檔案
想要把msg信件檔案的附件抓出來做處理,找到了這個Python 模組 msg-extractor 使用十分容易,但是這個模組是要在terminal裡執行,無法直接打在IDLE的編輯器上 所以稍微做了修 ...
- Node + Express + MySQL 接口开发完整案例
https://blog.csdn.net/u013216976/article/details/85273770 https://github.com/Apache-Ra/node-express- ...
- Markdown的安装和语法
步骤: 1.打开webstorm,File-->Setting-->输入plugin-->Install JetBrains plugin-->输入markdown--> ...
- ios 自定义delegate(一)
在自定义协议的头文件 .h中 @protocol NSDelegate <NSObject>@optional //可选 - (void)OnOption:(NSString *)pSt ...
- Go:单元测试
测试用的文件名必须以 _test.go 结尾: 测试用的函数名必须以 Test 开头,一般来说:Test+被测试的函数名(第一个字母必须大写): func TestXx(t *testing.T) { ...