plz give proper program question

2009/9/16 Seedrick <[email protected]>

>
> Someone please tell me what is the problem in my code
>
> #define sq(a) ((a)*(a))
> #define ERR 1e-7
> int main() {
>        freopen("B-small-attempt11.in","r",stdin);
>        freopen("B-small-attempt11.out","w",stdout);
>        int tc,i,j,k,n,a,b,c,va,vb,vc;
>        double u[3],ap,dot,dmin,tmin,mod;
>        cin >> tc;
>        for(i=0;i<tc;i++) {
>                cin >> n;
>                vector<double> p(3,0.0);
>                vector<double> v(3,0.0);
>                for(j=0;j<n;j++) {
>                        cin >> a >> b >> c >> va >> vb >> vc;
>                        p[0]+=a;
>                        p[1]+=b;
>                        p[2]+=c;
>                        v[0]+=va;
>                        v[1]+=vb;
>                        v[2]+=vc;
>                }
>                p[0]=p[0]/n;
>                p[1]=p[1]/n;
>                p[2]=p[2]/n;
>
>                v[0]=v[0]/n;
>                v[1]=v[1]/n;
>                v[2]=v[2]/n;
>
>                mod = sqrt ( sq(v[0])+sq(v[1])+sq(v[2]) );
>                if(mod < ERR )
>                {
>                        mod=0.0;
>                        dmin=sqrt (sq(p[0])+sq(p[1])+sq(p[2]));
>                        if(dmin < ERR)
>                                dmin =0.0 ;
>                        printf("Case #%d: %.8lf %.8lf\n",i+1,dmin,mod);
>                        continue;
>                }
>                u[0]=v[0]/mod;
>                u[1]=v[1]/mod;
>                u[2]=v[2]/mod;
>                ap=sq(p[0])+sq(p[1])+sq(p[2]);
>                dot=p[0]*u[0]+p[1]*u[1]+p[2]*u[2];
>                if(fabs(dot) < ERR)
>                {
>                                dmin = sqrt(ap);
>                                tmin=0.0;
>                }
>                else
>                {
>                        dmin= ap-sq(dot);
>                        dmin = sqrt(dmin);
>                        tmin = (fabs(dot))/mod;
>                }
>                printf("Case #%d: %.8lf %.8lf\n",i+1,dmin,tmin);
>        }
>        return 0;
> }
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"google-codejam" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-code?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to