水题。。。。。
#include<stdio.h> int main(){ int arr[110][110]; int n; while(scanf("%d", &n) && n){ for(int i = 0;i < 2 * n; i++) scanf("%d %d", &arr[i][0], &arr[i][1]); int cnt1 , cnt2 , flag = 1, a, b, l; for(int i = -500;i <= 500; i++) { for(int j = -500;j <= 500; j++) { cnt1 = cnt2 = 0; if(i == 0 && j == 0) continue; for(l = 0;l < 2 * n; l++) { if(arr[l][0] * i + arr[l][1] * j > 0) cnt1++; else if(arr[l][0] * i + arr[l][1] * j < 0) cnt2++; else break; } if(cnt1 == cnt2 && l == 2 * n) { a = i; b = j; flag = 0; break; } } if(!flag) break; } printf("%d %d\n", a, b); } return 0;; }