首页 > 代码库 > Birthday Cake UVA 10167

Birthday Cake UVA 10167

#include <stdio.h>
#define MAXN 100+5

int main(){
  int x[MAXN],y[MAXN];
  int i,n;
  int A,B;
  int P,N,sign;
  //freopen("data","r",stdin);
  while(scanf("%d",&n)&&n){
   for(i=0;i<2*n;i++)
     scanf("%d%d",&x[i],&y[i]);
   
   sign=0;

   for(A=-500;A<=500;A++){
     for(B=-500;B<=500;B++){
       P=N=0;
       for(i=0;i<2*n;i++){
        if(A*x[i]+B*y[i]==0)//樱桃在分界线上舍去
          break;
	else if(A*x[i]+B*y[i]<0)//根据表达式求出结果的正负,即可判断位于分界线的哪一侧
	  N++;
	else
	  P++;
        
	if(N>n||P>n)
	  break;
       }
       if(N==n&&P==n) break;
     }
     if(N==n&&P==n) break;
   }

   printf("%d %d\n",A,B);
  }

  return 0;
}

Birthday Cake UVA 10167