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 |
Re:help why wrong?In Reply To:help why wrong? Posted by:fxzy at 2006-01-25 15:38:32 郁闷.少考虑了小于1的情况.... #include<stdio.h> #include<math.h> #define dd sqrt(3)/2 int main() { double a,b; int grid,shew,temp,flag,k,flag2; int bottom; while(scanf("%lf%lf",&a,&b)!=EOF) { bottom=(int)a; temp=bottom; for(k=0;;k++) if(k*dd+1.0>b) break; flag2=flag=0; if(a-(int)a>=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; } shew=temp; bottom=(int)b; temp=bottom; for(k=0;;k++) if(k*dd+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; if(a<1||b<1) {printf("0 grid\n");continue;} 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: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator