uva10167
/* 暴力 过了 要使得两半的 樱桃数目相等 去试每一个斜率 还好他这里要的是 A、B 都为正整数 这样范围就锁定在200*100 个点范围内 */ #include <cstdio> #include <string.h> #include <iostream> using namespace std; struct point{ int x,y; }node[110]; void solve(int num) { int i; for(int A=-100;A<=100;A++) { for(int B=-100;B<=100;B++){ int L=0,R=0; for(i=0;i<num;i++){ int d=A*node[i].x+B*node[i].y; if(d>0)L++; if(d<0)R++; if(d==0) break; } if(L==num/2&&R==num/2&&i==num){ printf("%d %d\n",A,B);return ; } } } } int main() { int num,n,i; while(scanf("%d",&n)==1){ if(n==0) break; num=0; for(i=0;i<n*2;i++){ int a,b; scanf("%d%d",&a,&b); if((a*a+b*b)<=10000){ node[num].x=a; node[num++].y=b; } } solve(num); } return 0; }