| ||||||||||
| 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 | |||||||||
点被覆盖了..要重新找点..In Reply To:莫名其妙的错,谁能找出来? Posted by:fmlwlh at 2007-07-18 13:42:46 > 我不喜欢贴代码,但这个错误太经典了,经典得我虽然知道哪错,却不知道为什么,哪位大牛能告诉我?
> #include<iostream>
> #include<algorithm>
> #include<cmath>
> #define abs(a) ((a)>0?(a):(-a))
> using namespace std;
> typedef struct point{
> int x,y;
> }point;
> point p[10010];
> int N,x[10010],y[10010];
> int exsit(int x1,int y1)
> {
> int i;
> for (i=0;i<N;i++) if (p[i].x==x1&&p[i].y==y1) break;
> if (i<N) return 1;
> return 0;
> }
> __int64 dis(int x1,int y1)
> {
> int i,j;
> __int64 ans=0;
> for (i=0;i<N;i++)
> {
> ans+=(__int64)abs(x[i]-x1);
> ans+=(__int64)abs(y[i]-y1);
> }
> return ans;
> }
> main ()
> {
> int i,j,spot;
> __int64 barn=0;
>
>
> scanf ("%d",&N);
> for (i=0;i<N;i++)
> {
> scanf ("%d %d",&x[i],&y[i]);
> p[i].x=x[i];
> p[i].y=y[i];
> }
> sort(x,x+N);
> sort(y,y+N);
> for (i=(N-1)/2;i>=0;i--)
> {
> barn+=(__int64)(x[N-1-i]-x[i]);
> barn+=(__int64)(y[N-1-i]-y[i]);
> }
> if (N&1)
> {
> if (exsit(x[N/2],y[N/2])==0) printf("%I64d 1\n",barn);
> else
> {
> barn=1<<30;
> __int64 temp=dis(x[N/2]-1,y[N/2]);
> if (temp<barn) {barn=temp;spot=1;}
> else if (temp==barn) spot++;
>
> temp=dis(x[N/2]+1,y[N/2]);
> if (temp<barn) {barn=temp;spot=1;}
> else if (temp==barn) spot++;
>
> temp=dis(x[N/2],y[N/2]-1);
> if (temp<barn) {barn=temp;spot=1;}
> else if (temp==barn) spot++;
>
> temp=dis(x[N/2],y[N/2]+1);
> if (temp<barn) {barn=temp;spot=1;}
> else if (temp==barn) spot++;
> printf ("%I64d %d\n",barn,spot);
> }
> }
> else
> {
> spot=(x[N/2]-x[N/2-1]+1)*(y[N/2]-y[N/2-1]+1);
> if (exsit(x[N/2-1],y[N/2-1])) spot--;
> if (exsit(x[N/2-1],y[N/2])) spot--;
> if (exsit(x[N/2],y[N/2-1])) spot--;
> if (exsit(x[N/2],y[N/2])) spot--;
> printf("%I64d %d\n",barn,spot);
> }
>
> system("pause");
> return 0;
> }
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator