2009-02-14 13:00:07來源不明

ACM 11207 11207 - The easiest way

只有3種情況,這幾種切法,一直沒想到會有小數,剛開始寫還以為要用GCD 哈哈
1.OOOO
2.OO
  OO
3.O
  O
  O
  O
/************************************************************/

  1. #include<stdio.h>                        
  2. #include<stdlib.h>            
  3. float min(float a,float b)         
  4. {             
  5.  if(a<b) return a;             
  6.  else        
  7.   return b;         
  8. }          
  9. main()            
  10. {            
  11.  int n;         
  12.  while(scanf("%d",&n)==1&&n!=0)         
  13.   {         
  14.    int a,ans;         
  15.    float max=0.0,temp1,temp2,temp3;         
  16.    for(a=0;a<n;a++)         
  17.     {         
  18.      float w,h;         
  19.      scanf("%f %f",&w,&h); /*輸入的邊長可能為小數*/        
  20.      temp1=min(w/2,h/2);     /*最小的一邊 為邊長 只有3種可能*/        
  21.      temp2=min(w/4,h);       /*算出來的邊長 也可能為小數*/     
  22.      temp3=min(w,h/4);      
  23.      if(temp1>max)         
  24.       {max=temp1;ans=a;}         
  25.      if(temp2>max)         
  26.       {max=temp2;ans=a;}         
  27.      if(temp3>max)         
  28.       {max=temp3;ans=a;}          
  29.     }         
  30.     printf("%d\n",ans+1);         
  31.   }          
  32.  return 0;            
  33. }