Pagini recente » Cod sursa (job #1781433) | Istoria paginii runda/simulare_prosoft/clasament | Istoria paginii utilizator/ana_maria_12 | Cod sursa (job #1654764) | Cod sursa (job #1294611)
#include <cstdio>
#include <vector>
#define NMAX 1007
#define x first
#define y second
using namespace std;
vector < vector < pair < int, int > > > Ans, Ans1;
vector < pair < int, int > > v, v1;
int n, m;
int a[NMAX], b[NMAX], c[NMAX];
int main(){
freopen("regiuni.in", "r", stdin);
freopen("regiuni.out", "w", stdout);
scanf("%d %d", &n, &m);
for(int i = 1; i <= n; i++)
scanf("%d %d %d\n", &a[i], &b[i], &c[i]);
for(int i = 1; i <= m; i++){
int A, B;
scanf("%d %d\n", &A, &B);
v.push_back(make_pair(A, B));
}
Ans.push_back(v);
for(int i = 1; i <= n; ++i){
Ans1.clear();
for(int j = 0; j < Ans.size(); ++j){
v.clear();
v1.clear();
for(int k = 0; k < Ans[j].size(); ++k){
if (a[i] * Ans[j][k].x + b[i] * Ans[j][k].y + c[i] < 0)
v.push_back(Ans[j][k]);
else
v1.push_back(Ans[j][k]);
}
if (v.size() > 0)
Ans1.push_back(v);
if (v1.size() > 0)
Ans1.push_back(v1);
}
Ans = Ans1;
}
printf("%d\n", Ans.size());
return 0;
}