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

help why wrong?

Posted by fxzy at 2006-01-25 15:38:32 on Problem 1319
我的程序:
#include<stdio.h>
#include<math.h>
int main()
{   double a,b;
    int grid,shew,temp,flag,k,flag2;
    int bottom; 
	while(scanf("%lf%lf",&a,&b)!=EOF)
	 {
		 bottom=(int)a;      //以a为底计算
		 temp=bottom;           //bottom是最底层放pipe的个数
		 for(k=0;;k++)               //k是最多放的层数
		   if(k*sqrt(3)/2+1>b)        
		     break; 
		     flag2=flag=0;               
		     if(a-(int)a>=0.5) flag2=1;    //斜着放,每层可以都放bottom个
	    for(k=k-1;k>0;k--)
	     { if(flag==0&&flag2==0)                  //temp是当前计算出的总数
	         temp+=bottom-1;  	 
		     if(flag==1&&flag2==0) temp+=bottom;
		      if(flag==0) flag=1;
		      else flag=0;
		    if(flag2==1) temp+=bottom;
		  }
		   shew=temp;                      //shew是歪着放可以放的总数
		   
		    bottom=(int)b;   //以b为底计算
		 temp=bottom;
		 for(k=0;;k++)
		   if(k*sqrt(3)/2+1>a)
		     break; 
		     flag2=flag=0;
		      if(b-(int)b>=0.5) flag2=1; 
	    for(k=k-1;k>0;k--)
	      { if(flag==0&&flag2==0)
	          temp+=bottom-1;  	 
		      if(flag==1&&flag2==0) temp+=bottom;
		      if(flag==0) flag=1;
		      else flag=0;
		    if(flag2==1) temp+=bottom;
		  }
		 
		  if(temp>shew)
		       shew=temp;
		       
		 
		  
		   grid=(int)(a)*(int)(b);       //正着放可以放的个数
		   
		  if(grid<shew)
		   printf("%d skew\n",shew);     
		 else printf("%d grid\n",grid);
		 }
	          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