Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
求大神看看哪错了!!!#include<cstdio> #include<cmath> #include<cstring> #ifdef unix #define INT64 "%lld" #else #define INT64 "%I64d" #endif #define LL long long using namespace std; const double ep=1e-3; int n,m; long long a[5001],b[5001],x[5001],y[5001]; long long num[5001]; long long xx,yy,yy1,yy2; bool zuo(long long l,long long p){ yy=y[p]; long long det11=(a[l]-b[l])*(yy-yy2)-(xx-b[l])*(yy1-yy2); long long det22=(a[l]-b[l])*(y[p]-yy2)-(x[p]-b[l])*(yy1-yy2); if (det11*det22<ep) return true; return false; } void work(int x){ int l=0; int r=n; while (l<=r){ int mid=(l+r)/2; if (zuo(mid,x)) l=mid+1; else r=mid-1; }; ++num[r]; } int main(){ freopen("2318.in","r",stdin); freopen("2318.out","w",stdout); while(scanf("%d%d"INT64 INT64 INT64 INT64,&n,&m,&a[0],&yy1,&b[0],&yy2),n>0&&m>0){ for (int i=1;i<=n;++i){ scanf(INT64 INT64,&a[i],&b[i]); }; b[0]=a[0]; xx=a[0]-1; for (int i=1;i<=m;++i){ scanf(INT64 INT64,&x[i],&y[i]); }; memset(num,0,sizeof(num)); for (int i=1;i<=m;++i){ work(i); }; for (int i=0;i<=n;++i)printf("%d: "INT64"\n",i,num[i]); printf("\n"); } } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator