Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:难道不是直接带公式计算? sample都过不了

Posted by jackrhc at 2010-12-19 10:09:37 on Problem 2107
In Reply To:难道不是直接带公式计算? sample都过不了 Posted by:javaman at 2005-06-12 14:56:20
> #include <iostream>
> #include <cstdio>
> #include <cmath>
> using namespace std;
> 
> double x[52][52],y[52][52],z[52][52];
> 
> 
> int main() {
> double ax,bx,cx,dx,ex,fx,gx,hx,ix,ay,by,cy,dy,ey,fy,gy,hy,iy,az,bz,cz,dz,ez,fz,gz,hz,iz;
> double vtx,vty,vtz,hu,vu,hfx,hfy,hfz,vfx,vfy,vfz,htx,hty,htz,nx,ny,nz,factor;
> int xx,yy,i,j;
> 
> 	while (scanf("%d%d",&xx,&yy)!=EOF) {
> 		for (j=0;j<yy;++j)
> 			for (i=0;i<xx;++i) 
> 				scanf("%lf%lf%lf",&x[i][j],&y[i][j],&z[i][j]);
> 		printf("%d\n",xx*yy);
> 		xx-=3;
> 		yy-=3;
> 		for (j=0;j<=yy;++j)
> 			for (i=0;i<=xx;++i) {
> 				ax=x[i][j];
> 				bx=x[i][j+1];
> 				cx=x[i][j+2];
> 				dx=x[i+1][j];
> 				ex=x[i+1][j+1];
> 				fx=x[i+1][j+2];
> 				gx=x[i+2][j];
> 				hx=x[i+2][j+1];
> 				ix=x[i+2][j+2];
> 
> 				ay=y[i][j];
> 				by=y[i][j+1];
> 				cy=y[i][j+2];
> 				dy=y[i+1][j];
> 				ey=y[i+1][j+1];
> 				fy=y[i+1][j+2];
> 				gy=y[i+2][j];
> 				hy=y[i+2][j+1];
> 				iy=y[i+2][j+2];
> 
> 
> 				az=z[i][j];
> 				bz=z[i][j+1];
> 				cz=z[i][j+2];
> 				dz=z[i+1][j];
> 				ez=z[i+1][j+1];
> 				fz=z[i+1][j+2];
> 				gz=z[i+2][j];
> 				hz=z[i+2][j+1];
> 				iz=z[i+2][j+2];
> 
> 				hu=(ex-dx)*(dx-fx)+(ey-dy)*(dy-fy)+(ez-dz)*(dz-fz);
> 				vu=(ex-bx)*(bx-hx)+(ey-by)*(by-hy)+(ez-bz)*(bz-hz);
> 
> 				hfx=(dy-fy)*(ez-dz)-(dz-fz)*(ey-dy);
> 				hfy=(dz-fz)*(ex-dx)-(dx-fx)*(ez-dz);
> 				hfz=(dx-fx)*(ey-dy)-(dy-fy)*(ex-dx);
> 
> 				vfx=(by-hy)*(ez-bz)-(bz-hz)*(ey-by);
> 				vfy=(bz-hz)*(ex-bx)-(bx-hx)*(ez-bz);
> 				vfz=(bx-hx)*(ey-by)-(by-hy)*(ex-bx);
> 
> 				vtx=(hy-ey)*vfz-(hz-ez)*vfy-(hx-ex)*vu;
> 				vty=(hz-ez)*vfx-(hx-ex)*vfz-(hy-ey)*vu;
> 				vtz=(hx-ex)*vfz-(hy-ey)*vfx-(hz-ez)*vu;
> 
> 				htx=(fy-ey)*hfz-(fz-ez)*hfy-(fx-ex)*hu;
> 				hty=(fz-ez)*hfx-(fx-ex)*hfz-(fy-ey)*hu;
> 				htz=(fx-ex)*hfy-(fy-ey)*hfx-(fz-ez)*hu;
> 
> 				nx=hty*vtz-htz*vty;
> 				ny=htz*vtx-htx*vtz;
> 				nz=htx*vty-hty*vtx;
> 
> 				factor=1./sqrt(nx*nx+ny*ny+nz*nz);
> 
> 				printf("%.4f %.4f %.4f\n",nx*factor,ny*factor,nz*factor);
> 			}
> 	}
> 	return 0;
> }
> 
> 
> 
> 
> 
> 
> 
> 				
> 				


这行有问题 vtz=(hx-ex)*vfz-(hy-ey)*vfx-(hz-ez)*vu;


Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator