UVa 10167Birthday Cake
来源:互联网 发布:网络推广专员的职责 编辑:程序博客网 时间:2024/05/18 01:17
/* 思路:简单枚举 外层加了层循环,改变斜率的变化率(从大到小),使AC时间由原来0.082减至 0.009S*/#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int MAX = 50*2+5;int X[MAX];int Y[MAX];int N;void solve(){ int sum; int cnt; int found; for(int gap=500; gap; gap/=2) { for(int A=-500; A<=500; A+=gap) { for(int B=-500; B<=500; B+=gap) { cnt = 0; found = true; for(int i=0; i<2*N; i++) { sum = A*X[i] + B*Y[i]; if(sum == 0) { cnt = 0; found = false; break; }else if(sum > 0){ cnt++; } } if(found && cnt==N) { printf("%d %d\n", A, B); return; } } } }}int main (){ #ifndef ONLINE_JUDGE freopen("in.txt", "r", stdin); #endif while(scanf("%d", &N)==1 && N!=0) { for(int i=0; i<2*N; i++) { scanf("%d %d", &X[i], &Y[i]); } solve(); } return 0;}