Pagini recente » Cod sursa (job #1307307) | Cod sursa (job #1428802) | Cod sursa (job #238939) | Cod sursa (job #102098) | Cod sursa (job #2215725)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define x first
#define y second
pair <ll, ll> a[810], p;
ll n, m, area, check, ans;
int det(int i){
return abs(a[i].x*a[i+1].y + a[i+1].x*p.y + p.x*a[i].y - a[i+1].y*p.x - p.y*a[i].x - a[i].y*a[i+1].x);
}
int main(){
ifstream cin ("poligon.in");
ofstream cout ("poligon.out");
cin >> n >> m;
for (int i=1; i<=n; i++) cin >> a[i].x >> a[i].y;
a[n+1] = a[1];
for (int i=1; i<=n; i++) area += a[i].x*a[i+1].y - a[i].y*a[i+1].x;
area = abs(area);
while (m--){
check = 0;
cin >> p.x >> p.y;
for (int i=1; i<=n; i++) check += det(i);
if (check == area) ans++;
}
cout << ans;
return 0;
}