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

为什么一直WA?

Posted by sunflowwer at 2006-08-30 23:26:02 on Problem 2272
#include <stdio.h>
#include <math.h>
#define zero 1e-6

struct point{
     double x;
	 double y;
}m1[3],m2[3];
int work1(int a,double b)
{
     double s;
	 struct point *p=(point *)m1;
	 s=sqrt(pow((p+a)->x,2)+pow((p+a)->y,2));
	 if(s<b)
		 return 1;
	 if(fabs(s-b)<zero)
         return 1;
	 return 0;
}
int work2(int a,double b)
{
     double s;
	 struct point *p=(point *)m2;
	 s=sqrt(pow((p+a)->x,2)+pow((p+a)->y,2));
	 if(s<b)
		 return 1;
	 if(fabs(s-b)<zero)
         return 1;
	 return 0;
}
int main()
{
     int a,b,i,j;
	 while(1)
	 {
	      for(i=0;i<3;i++)
			  scanf("%lf%lf",&m1[i].x,&m1[i].y);
		  for(i=0;i<3;i++)
			  scanf("%lf%lf",&m2[i].x,&m2[i].y);
		  if(fabs(m1[0].x+100.0)<zero)
			  break;
		  for(a=0,i=0;i<3;i++){
/*			  if(m1[i].x>20.0 || m1[i].x<-20.0 || m1[i].y>20.0 || m1[i].y<-20.0)
				  continue;*/
			  for(j=3;j<21;j+=3)
				  if(work1(i,j*1.0)){
				       a+=100-(j/3-1)*20;
					   break;
				  }
		  }
		  for(b=0,i=0;i<3;i++){
/*			  if(m2[i].x>20.0 || m2[i].x<-20.0 || m2[i].y>20.0 || m2[i].y<-20.0)
				  continue;*/
			  for(j=3;j<21;j+=3)
				  if(work2(i,j*1.0)){
				       b+=100-(j/3-1)*20;
					   break;
				  }
		  }
		  printf("SCORE: %d to %d, ",a,b);
		  if(a==b)
			  printf("TIE.\n");
		  else if(a>b)
			  printf("PLAYER 1 WINS.\n");
		  else if(a<b)
			  printf("PLAYER 2 WINS.\n");
	 }
	 return 0;
}

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