I have given up on this one. As a result, I just submitted code that will return C, in hopes that no boxes are formed by the fences for as many test cases as possible.
crazy.cpp
#include <iostream> #include <fstream> #define loopi(x) loop_start(i,x,0) #define loopj(x) loop_start(j,x,0) #define loop_start(i, x,s) for(int i = (s); i < (x); ++i) #define loop_rev(a,x,stop) for(int a = (x); a >= (stop); --a) using namespace std; struct fence { int x1, y1, x2, y2; // each fence is vertical or horizontal }; fence *fences; struct cow { int x, y; }; cow *cows; int main() { ofstream fout ("crazy.out"); ifstream fin ("crazy.in"); // get input unsigned int N, C; fin >> N >> C; fences = new fence[N]; cows = new cow[N]; loopi(N) fin >> fences[i].x1 >> fences[i].y1 >> fences[i].x2 >> fences[i].y2; loopi(C) fin >> cows[i].x >> cows[i].y; // process // I give up... // output fout << C << endl; // cleanup fin.close(); fout.close(); delete[] fences; delete[] cows; return 0; }
No comments:
Post a Comment