#include <iostream>
#include <vector>
using namespace std;
class Point{
private:
int x,y;
};
class Line{
public:
int sx,sy,ex,ey;
Line(int sx,int sy,int ex,int ey):sx(sx),sy(sy),ex(ex),ey(ey){}
int operator*(const Line & rhs){
int v1x = ex - sx;
int v1y = ey - sy;
int v2x = rhs.ex - rhs.sx;
int v2y = rhs.ey - rhs.sy;
return v1x * v2y - v2x * v1y;
}
};
int main(){
int n,m,x1,y1,x2,y2;
while(cin >> n && n != 0 ) {
cin >> m >> x1 >> y1 >> x2 >> y2;
vector<Line> vl;
for(int i = 0; i < n ; ++i) {
int tmpx1,tmpx2;
cin >> tmpx1 >> tmpx2;
vl.push_back(Line(tmpx2,y2,tmpx1,y1));
}
vector<int> part(n+1);
for(int i= 0;i < m ; ++i){
int toyx,toyy;
cin >> toyx >> toyy;
int j = 0;
bool flag = false;
do{
Line toyline(vl[j].sx, vl[j].sy , toyx,toyy) ;
int tmp = vl[j] * toyline;
if(tmp > 0){
part[j]++;
flag = true;
break;
}
++j;
}
while(j < n);
if( flag == false)
part[n]++;
}
for(int i = 0 ; i < n + 1; ++i)
cout << i << ": " << part[i] << endl;
cout << endl;
}
}
POJ2318 TOY
最新推荐文章于 2020-08-16 22:35:05 发布