Pagini recente » Cod sursa (job #2984668) | Cod sursa (job #2242455) | Cod sursa (job #2699322) | Cod sursa (job #3277036) | Cod sursa (job #2376264)
#include <fstream>
#define Point pair<int, int>
#define x first
#define y second
using namespace std;
ifstream fin("poligon.in");
ofstream fout("poligon.out");
int n, m;
bool semn_arie(Point O, Point A, Point B){
return (A.x - O.x)*(B.y - O.y) - (A.y - O.y)*(B.x - O.x) > 0;
}
Point poligon[802];
int main()
{
fin>>n>>m;
for(int i=1; i<=n; i++){
fin>>poligon[i].x>>poligon[i].y;
}
poligon[n+1] = poligon[1];
Point O;
int nr = 0;
for(int i=1; i<=m; i++){
fin>>O.x>>O.y;
bool sgn = semn_arie(O, poligon[1], poligon[2]);
for(int i=2; i<=n; i++){
if(semn_arie(O, poligon[i], poligon[i+1])!=sgn) {
nr--;
break;
}
}
nr++;
}
fout<<nr;
}