4337235 2006-02-15 07:40:14 Accepted 5.076 456 28565 C++ 10167 - Birthday Cake {{{~cpp #include #include using namespace std; struct point { int x; int y; }; vector test; void process() { bool check = false; int i, j, k, ceil, floor, temp; for(i = -500; i <= 500; i++) { for(j = -500; j <= 500; j++) { ceil = floor = 0; for(k =0; k < test.size(); k++) { temp = i*test[k].x + j*test[k].y; if(temp == 0) break; else if(temp > 0) ceil++; else if(temp < 0) floor++; } if(k == test.size()) { if(ceil == floor && ceil + floor == test.size()) { cout << i << " " << j << endl; return; } } } } } int main() { int Num,i; point temp; cin >> Num; while(Num != 0) { for(i = 0; i < 2*Num; i++) { cin >> temp.x >> temp.y; test.push_back(temp); } process(); test.clear(); cin >> Num; } return 0; } }}}