Pagini recente » Cod sursa (job #1370479) | Cod sursa (job #1892727) | Cod sursa (job #48513) | Cod sursa (job #1146410) | Cod sursa (job #37420)
Cod sursa(job #37420)
#include <stdio.h>
#include <vector>
#define FIN "regiuni.in"
#define FOUT "regiuni.out"
#define MAXM 1000
//using namespace __gnu_cxx;
using namespace std;
int n, m, i, j, k, num;
int a[MAXM], b[MAXM], c[MAXM], x, y;
vector<vector<pair<int, int> > > sets, sets1;
int main() {
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
num = 0;
vector<pair<int, int> > set, set1;
scanf("%d %d", &n, &m);
for (i = 0; i < n; i++) {
scanf("%d %d %d\n", &a[i], &b[i], &c[i]);
}
for (i = 0; i < m; i++) {
scanf("%d %d\n", &x, &y);
set.push_back(make_pair(x, y));
}
sets.push_back(set);
for (i = 0; i < n; i++) {
sets1.clear();
for (j = 0; j < sets.size(); j++) {
set.clear();
set1.clear();
for (k = 0; k < sets[j].size(); k++) {
if (a[i] * sets[j][k].first + b[i] * sets[j][k].second + c[i] < 0)
set.push_back(sets[j][k]);
else set1.push_back(sets[j][k]);
}
if (set.size() > 0)
sets1.push_back(set);
if (set1.size() > 0)
sets1.push_back(set1);
}
sets = sets1;
}
printf("%d\n", sets.size());
return 0;
}