poj 2398 Toy Storage
来源:互联网 发布:剑网三dbm数据那个好 编辑:程序博客网 时间:2024/09/21 08:58
题意:和POJ 2318一样,只是中间的n个隔板未排序,输出的是装有i个玩具区域的个数。
POJ 2318:http://blog.csdn.net/veritaswu/article/details/48714237
#include"iostream"#include"cmath"#include"cstring"#include"cstdlib"using namespace std;#define M 1111struct node{double a,b;}p[M];int cmp(const void *a,const void *b){return (*(struct node *)a).a-(*(struct node *)b).a;}int main(){int n,m;double x1,x2,y1,y2;while(scanf("%d",&n),n!=0){scanf("%d",&m);scanf("%lf %lf %lf %lf",&x1,&y1,&x2,&y2);int i,j;double k[M],bb[M];int c[M],f;int ans[M],cnt[M];memset(ans,0,sizeof(ans));memset(c,0,sizeof(c));memset(k,0,sizeof(k));memset(bb,0,sizeof(bb));memset(cnt,0,sizeof(cnt));for(i=0;i<n;i++) scanf("%lf %lf",&p[i].a,&p[i].b);qsort(p,n,sizeof(p[0]),cmp);for(i=0;i<n;i++){if(fabs(p[i].a-p[i].b)>1e-8){k[i]=(y1-y2)/(p[i].a-p[i].b);bb[i]=y2-k[i]*p[i].b;}else{c[i]=-1;bb[i]=p[i].a;}}for(i=0;i<m;i++){double xx,yy;scanf("%lf%lf",&xx,&yy);f=0;for(j=0;j<n;j++){if((c[j]==-1&&xx<bb[j])||(k[j]>0&&xx*k[j]+bb[j]<yy)||(k[j]<0&&xx*k[j]+bb[j]>yy)){ans[j]++;f=1;break;}}if(f==0)ans[(int)n]++;}for(i=0;i<=n;i++)cnt[ans[i]]++;printf("Box\n");for(i=1;i<=n;i++)if(cnt[i])printf("%d: %d\n",i,cnt[i]);}return 0;}
0 0
- poj 2398 Toy Storage
- poj 2398 Toy Storage
- POJ 2398 Toy Storage
- POJ 2398 Toy Storage
- poj 2398 toy storage
- poj 2398 Toy Storage
- POJ 2398 Toy Storage
- poj 2398Toy Storage
- POJ 2398 Toy Storage
- poj 2398 Toy Storage
- poj 2398 Toy Storage
- poj 2398 Toy Storage
- Poj-2398-Toy Storage
- poj 2398 Toy Storage
- poj 2398 Toy Storage
- poj 2398 Toy Storage
- Toy Storage(poj 2398)
- POJ 2398 Toy Storage
- 20150924
- linux 查看网卡流量六种方法
- centos7为yum添加源
- python之os库
- 关于Eclipse配置的一些链接
- poj 2398 Toy Storage
- UI - Delegate模式
- Java的四种引用,强弱软虚,用到的场景
- easyui表单验证easyui-validatebox
- 读书笔记:MySQL数据库 数据类型优化二 用整形Int 存储 IP地址
- 一个另类的排序——睡排序
- 判断一个数的二进制有多少个1
- QT 使用注意事项
- Fedora22 安装VM12教程