题目地址:点击打开链接
就是A,B遍历一遍就行,注意线上不能有点
#include <iostream> using namespace std; const int maxsize = 110; int n; int a[maxsize][2]; int A,B; int count() { int num=0; int cnt=0; for(int i=0;i<2*n;++i) { if(A*a[i][0]+B*a[i][1]<0) ++num; if(A*a[i][0]+B*a[i][1]==0) ++cnt; } if(cnt==0) return num; return 0; } void solve() { for(A=-500;A<=500;++A) { for(B=-500;B<=500;++B) { if(count()==n) return; } } } int main() { while(cin>>n&&n) { int i; for(i=0;i<2*n;++i) cin>>a[i][0]>>a[i][1]; solve(); cout<<A<<" "<<B<<endl; } return 0; }
UVa10167 - Birthday Cake,布布扣,bubuko.com
原文:http://blog.csdn.net/leizh007/article/details/22205953